aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/terminal/terminal.cc
Commit message (Collapse)AuthorAge
* clang-format MoshGravatar Benjamin Barenblat2023-08-07
| | | | | | | | Run clang-format over the Mosh source tree. This is a large change and has been factored into its own commit for auditability. Reproduce it with find . -name \*.cc -or -name \*.h | while read f; do clang-format -i --style=file $f; done
* Switch to C++ versions of standard C headersGravatar Alex Chernyakhovsky2023-07-30
|
* Switch to fully-qualified #includeGravatar Alex Chernyakhovsky2023-07-30
| | | | | | | 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.
* Restore asserts and error handlingGravatar John Hood2017-08-23
| | | | A couple of them got improved out of existence.
* Remove various assert(constant) callsGravatar John Hood2017-08-06
| | | | | These cause warnings from static checkers, and seem to lead to spurious GCC7 -Wmaybe-uninitialized.
* Remove excessive parenthesesGravatar John Hood2017-08-06
| | | | There are many more.
* Collapse nested conditionals.Gravatar John Hood2017-08-06
|
* Describe Cell width as a narrow/wide boolean.Gravatar John Hood2016-11-17
| | | | | | 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.
* Remove unused includeGravatar John Hood2016-11-06
|
* Eliminated "handled" field in Parser::ActionGravatar Keith Winstein2016-02-10
| | | | | | | | | | This field was used during development to measure the coverage of the ANSI terminal parser against typical terminal input sequences. The "handled" field has not been read by any code since commit 1ee54cd7 (February 2011). Eliminating the field by popular request (closes #723).
* Fix prediction unicode bug. Make all Cell members private.Gravatar John Hood2015-12-24
| | | | Fixes #702.
* Avoid wcwidth(), wcrtomb() and mbrtowc() on ASCII/ISO8859-1 characters.Gravatar john hood2015-12-06
| | | | | | | | | | | | ASCII <-> UTF has trivial mappings. Avoid wcrtomb() and mbrtowc(). ISO-8859-1 is all narrow characters, and cheap to test for. It might be possible to cheaply test other popular UTF blocks and/or planes as well. These two changes get 2-3x faster input processing on Linux and FreeBSD. Performance improvement in actual usage is more modest but still significant.
* Reduce character cell lookups in Emulator::print().Gravatar John Hood2015-12-06
|
* Change Framebuffer's containers/methods to improve performance.Gravatar John Hood2015-12-06
| | | | | | | | * 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.
* terminal.cc: Remove overly-strong assertion on Unicode fallbackGravatar Keith Winstein2015-08-24
| | | | Fixes #667
* Move Emulator::{open,close} to DisplayGravatar Anders Kaseorg2013-03-10
| | | | Signed-off-by: Anders Kaseorg <andersk@mit.edu>
* Add OpenSSL licensing exceptionGravatar Keith Winstein2012-07-20
|
* Quit with cursor visible.Gravatar Keith Winstein2012-05-23
|
* Fix valgrind error with 1-col char then 2-col char in a 1x1 terminalGravatar Keith Winstein2012-04-15
|
* Fix bug sometimes causing missing (or spurious) wraparound copy-and-pasteGravatar Keith Winstein2012-04-02
|
* No need to reset scrolling region on close -- we always clean this upGravatar Keith Winstein2012-03-21
|
* Change shutdown sequence (take away DECSTR)Gravatar Keith Winstein2012-03-21
|
* Fix asserts with side-effects (per Keegan McAllister)Gravatar Keith Winstein2012-03-08
|
* Add copyright/license noticesGravatar Keith Winstein2012-02-06
|
* Separate modules by subdirectoryGravatar Keith Winstein2012-02-06