Commit Graph

92 Commits

Author SHA1 Message Date
Keith Winstein a4221d17a4 Disable posterization and rely solely on TERM to tell remote end about colors
(should help #155 github issue)
2012-04-14 13:46:38 -04:00
Keith Winstein 5c20c8d4be Keep using OSC 0 when possible to preserve compability with older clients.
Re: #137
2012-04-14 02:11:31 -04:00
Keith Winstein d0a818d2e2 Track icon name and window title separately. Implement MOSH_TITLE_NOPREFIX 2012-04-14 01:55:28 -04:00
Keith Winstein 53f79e4261 Fix vttest "Funny scrolling regions" by ignoring some invalid scroll regions
Addresses #155 github issue.
2012-04-14 01:11:57 -04:00
Keegan McAllister d2434d1a79 Check compiler support for -fno-default-inline and -pipe
clang was spewing warnings about the unrecognized -fno-default-inline.  (Oddly,
it warns only with -c, not when compiling directly to an executable.)  For
completeness we also check -pipe, even though clang is OK with that one.

It should be fine to omit either flag.  gcc -fno-default-inline drops the
implicit 'inline' annotation on functions defined inside a class scope, but
'inline' is only a hint anyway.  -fno-default-inline does not change linkage.
-pipe is merely a compile speed optimization.
2012-04-13 12:27:27 -04:00
Keegan McAllister 349e2d20c8 Use the hardening flags
Closes #79.
2012-04-13 12:25:09 -04:00
Keith Winstein a67ae7b0f4 Support 16-color set (per Anders Kaseorg).
Closes #106 github issue.
Closes #133 github issue.
Closes #131 github issue.
2012-04-11 03:09:26 -04:00
Anders Kaseorg 9cec566cd1 Find ncurses from pkg-config if possible, and prefer separate libtinfo
Recent ncurses can be configured --with-termlib, which splits out the
terminfo-level functions from libncurses into a separate libtinfo.
This allows us to avoid an unnecessary dependency on libncurses.  (We
already avoided this on distributions that link with -Wl,--as-needed.)

Signed-off-by: Anders Kaseorg <andersk@mit.edu>

Closes #128 github pull request.
2012-04-11 02:47:55 -04:00
Peter Jeremy fd0ddf0e22 strtol(3) can optionally set errno to EINVAL if no conversion could be
performed and FreeBSD (at least) implements thin behaviour.  Add an
explicit test to detect this situation in Dispatcher::parse_params().
(This behaviour difference is not relevant to other uses of strtol()).

This corrects the mishandling of (eg) "CSI m" on FreeBSD.

Closes #129 github pull request.
[keithw -- also fixes same issue with mosh-server on OS X]
2012-04-11 02:46:26 -04:00
Keith Winstein b4c47b77cf Fix bug involving wraparound copy-and-paste to a blank line.
Identified by Anders Kaseorg.

Test case:

( reset; seq 100; printf 'Hello, world!'; sleep 1;
printf '\t\t\t\t\t\t\t\t\t\t   \r\e[K'; sleep 1; printf '\n' )
> /dev/pts/16 2>&1

(replace /dev/pts/16 with mosh or termemu terminal)
2012-04-11 02:40:18 -04:00
Keith Winstein 4144f2e4f0 Don't clear wrap state on DEC set mode escape (matches xterm) 2012-04-11 01:58:20 -04:00
Keith Winstein 8221838f51 Fix bug sometimes causing missing (or spurious) wraparound copy-and-paste 2012-04-02 19:04:26 -04:00
Keith Winstein eea48e59d3 Avoid compiler warning on platforms where wchar_t is uint32_t (arm) 2012-03-31 14:30:24 -04:00
Keegan McAllister 7ed5174aa7 Move some locale handling into one place 2012-03-26 20:08:55 -04:00
Keith Winstein 00561a95d3 No need to reset scrolling region on close -- we always clean this up 2012-03-21 19:01:35 -04:00
Keith Winstein 76612229d5 Change shutdown sequence (take away DECSTR) 2012-03-21 18:59:04 -04:00
Keith Winstein e4780c5d05 Invalidate cursor location (but don't actually move cursor) after scroll reset 2012-03-18 16:26:16 -04:00
Keith Winstein 231c181101 Scroll only scrolled region (fixes #31 github issue) 2012-03-18 16:07:23 -04:00
Keith Winstein 13bd38aa51 Switch to deltaE method for color posterization 2012-03-18 01:52:13 -04:00
Keith Winstein d88ae9bfd0 Fix erroneous blinking in emacs (sgr with >15 fg but <16 bg) 2012-03-17 15:00:54 -04:00
Keith Winstein 170bc8366a Posterize to 8 colors when outer terminal does not support 256 colors
Fixes #58 github issue.
2012-03-16 17:43:01 -04:00
Keith Winstein c896055d15 Correctly render on terminals without BCE (fixes #56 github issue) 2012-03-16 13:46:55 -04:00
Keith Winstein 57d97209c0 Support 256color (and assume 256color terminal). Closes #3 github issue. 2012-03-16 13:46:55 -04:00
Keith Winstein 4783e7cd82 Eliminate unnecessary snprintf() 2012-03-14 02:14:10 -04:00
Keith Winstein 561a2be761 Optimize out use of sgr() by storing rendition instead (11% speedup) 2012-03-14 01:11:47 -04:00
Anders Kaseorg 843401a935 Display::Display: Fix undefined pointer comparison
“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>
2012-03-10 15:58:19 -05:00
Keith Winstein bc3297aa75 Small cleanup to generated output when predictions active 2012-03-10 06:42:21 -05:00
Keith Winstein 122d9fbccf Eliminate warning on OS X where argument to tigetstr is not const 2012-03-10 06:02:17 -05:00
Keith Winstein b8457dd308 Use TERM env var / terminfo to decide whether to send ECH. Fixes tmux bug.
Closes #28 github issue.
2012-03-10 05:41:03 -05:00
Keith Winstein ac16f9127c Output EL (erase line) when possible 2012-03-10 04:30:04 -05:00
Keith Winstein df5d163f9c Fix asserts with side-effects (per Keegan McAllister) 2012-03-08 10:50:19 -05:00
Keith Winstein 812b24b83a Screen out ill-formed UTF-8 representing surrogate code point 2012-03-07 03:10:19 -05:00
Quentin Smith e8d14d35a6 Add boost and protobuf in the places where they are needed
[seph@directionless.org, andersk@mit.edu: add in even more places]
2012-03-07 03:05:36 -05:00
Quentin Smith 26e9e91adb Cast MB_CUR_MAX to type size_t 2012-03-07 03:05:36 -05:00
Quentin Smith 96fe2349bb Remove check for __STDC_ISO_10646__
On most systems, even if __STDC_ISO_10646__ is not declared, wchar_t
will be correct in a UTF-8 locale. The client and server both enforce
a locale check on startup.
2012-03-07 03:05:36 -05:00
Anders Kaseorg aad760e7d6 Make warning CXXFLAGS configurable
This turns off -Werror by default except in the Debian package.
-Werror is inherently unportable and breaks things on OS X.  While it
can cause problems in Debian too, this is at least a little better.

It also turns off -pedantic in src/protobufs, because apparently
protoc output doesn’t compile with -pedantic on all platforms.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2012-03-07 03:05:35 -05:00
Anders Kaseorg 689eedc271 Compile without --std=c++0x
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2012-02-17 21:29:51 -05:00
Anders Kaseorg 7d19fbe203 Replace C++0x auto with Boost Typeof library
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2012-02-17 21:29:51 -05:00
Anders Kaseorg 32ff4af359 Fix wchar_t format string types
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2012-02-17 20:22:12 -05:00
Anders Kaseorg af649a035c Add missing #includes
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2012-02-17 19:24:51 -05:00
Keith Winstein 3781a290c8 Add copyright/license notices 2012-02-06 20:52:48 -05:00
Keith Winstein 38c9e99882 Separate modules by subdirectory 2012-02-06 18:26:45 -05:00