Commit Graph

122 Commits

Author SHA1 Message Date
Boris Faure 9c4167f74f always support double-width 2015-09-19 16:23:41 +02:00
Boris Faure 2b3eda694f always support italic 2015-09-19 16:18:17 +02:00
Boris Faure 3a7238978e turn error messages about unhandled escape codes into warnings 2015-09-08 21:59:11 +02:00
Boris Faure 144e0b5068 add option to disable terminology escape codes that could be considered
security issues by some

They are enabled by default.
2015-08-23 20:57:49 +02:00
Boris Faure 7fd86d8968 warn about window operations' escape codes being not supported 2015-08-17 23:18:50 +02:00
Boris Faure b80bedc7c2 do not report unsanitized input. See CVE-2003-0063 2015-08-17 23:18:49 +02:00
Boris Faure f40c63bbb6 typo 2015-08-03 20:52:54 +02:00
Jean-Philippe Andre 09b4fddf84 escapes: pretty-print some escapse and avoid ESC in debug logs
ERR("Hello '%c'", ESC) would result in "Hello '\033'" which means
the parent terminal (another terminology, maybe) would then try to
interpret ' as an escape char (ESC is \033 or 0x1b), and so it would
then forward more escapes to the parent.

Also, avoid printing BEL (and, well, beeping) when we are just
printing an error log.

I believe all those "Unhandled escape" logs should go to WRN or higher
log levels. Any thoughts, @billiob ?

See T2506 (for the test file)
2015-06-24 13:46:48 +09:00
Boris Faure 681bb029c2 ensure cursor coordinates are always valid, 2nd version 2015-06-03 23:02:31 +02:00
Carsten Haitzler 074eece5f7 Revert "ensure cursor coordinates are always valid"
This reverts commit 1f3f779258.

this breaks terminal scrolling entirely! can't scroll anymore at all
in standard shell. just try a simple: find / -print
2015-06-03 15:00:13 +09:00
Boris Faure 1f3f779258 ensure cursor coordinates are always valid 2015-06-02 22:48:50 +02:00
Boris Faure c86b35309c rename a bunch of _termpty_*() to termpty_*() 2015-06-02 21:47:06 +02:00
Boris Faure be62d87f89 separate "termstate" from cursor state and screens. Closes T725 2015-04-23 20:02:53 +02:00
Boris Faure b4ba773e17 fix CSI DECSET 1049. Should fix T725 2015-03-01 17:20:18 +01:00
Boris Faure f13d9ad111 fix compilation on solaris 2015-02-23 22:20:18 +01:00
Boris Faure 296cdcd102 usual round of fixes to make it compile with efl 1.7 2015-02-14 12:08:50 +01:00
Boris Faure 87d653ea4d add xterm 777 notification support. Closes T1765 2015-01-12 23:13:43 +01:00
Boris Faure 36e5ca2165 "handle" HTS 2015-01-10 21:02:04 +01:00
Boris Faure da809eb023 "handle" TBC 2015-01-10 21:02:04 +01:00
Boris Faure cbc92a55fc Fix screen mangling from prompt redraws on resize. Closes T1193
There are still some oddities because the shell doesn't expect us to
reflow.

Let's say we have the following where X is the cursor.

+-------+
|foobar$|
|X      |
+-------+
Here, the shell explicitly told us to go to a new line after '$'. We don't
consider '$' is on the same line as 'foobar'.
Decrease the width of that window.
+------+
|foobar|
|$     |
|X     |
+------+
Let the shell know the new size. It decides to redraw the prompt. It
remembers it told us to go to a new line, so the first thing it tells us
is to go one line up: to '$' and not 'foobar'. Then it tells us to clear
the screen downward from there and to print "foobar$" (and go to new
line).

Thus we have the following:
+------+
|foobar|
|foobar|
|$     |
|X     |
+------+
2014-12-07 23:51:23 +01:00
Boris Faure caed00cc1f fix segfault due to using isdigit with non unsigned char value. Closes T1625
Also rename _termpty_handle_seq() to termpty_handle_seq() since it's not static.
2014-09-15 23:10:55 +02:00
Boris Faure fd1e4ffd45 fix segfault when decoding buggy xterm sequence. cf T1625 2014-09-04 20:45:02 +02:00
Boris Faure 6c50375f26 Party time! be able to set foreground color
Reset is not yet implemented for that…

Idea is from http://www.reddit.com/r/linux/comments/2ds0he/xterm_party/
2014-08-17 22:20:40 +02:00
Boris Faure 5dfb63a14a handle queries on some xterm escape codes 2014-08-17 17:44:19 +02:00
Boris Faure 61050bd7cc clean up xterm escape codes handling 2014-08-17 17:32:57 +02:00
Boris Faure 9a16eb57a1 handle some DSR: the cursor position reports 2014-08-14 21:48:26 +02:00
Boris Faure ae820f3897 extract csi_reset_mode 2014-08-11 22:03:56 +02:00
Boris Faure 8a3c15e08e gettextify termcmd.c,termio.c,termpty.c,termptyesc.c 2014-07-26 11:37:26 +02:00
godfath3r 54280b97f6 cleanup. Remove lines with values stored to variables never used
Summary:
  as found with clang static analysis tool.

Reviewers: billiob, raster

Differential Revision: https://phab.enlightenment.org/D1207
2014-07-21 20:42:57 +02:00
Boris Faure e51c2168e9 fix segfault. Closes T1286 2014-06-08 15:52:34 +02:00
Boris Faure c3c8310218 Fix bracketed paste mode. Closes T1233. Patch by Egmont 2014-05-07 20:41:14 +02:00
Boris Faure 02856cbdec terminology supports fraktur!! 2014-04-06 14:42:38 +02:00
Sebastian Dransfeld cd189663bd remove dead code
We make sure that arg >= 0 before this line, so check is redundant.

CID 1100658
2014-03-24 13:40:05 +01:00
Boris Faure c27d887c1c save wrapnext when saving cursor. Closes T1080 2014-03-15 18:35:59 +01:00
Boris Faure 87e06d7a87 add some doc about RM 34/36 2014-03-15 17:35:56 +01:00
Boris Faure f47eb5e410 fix buffer overflows. Closes T1050 2014-03-05 22:37:38 +01:00
Boris Faure 735e5d1a3d cleanup code 2014-03-05 21:42:33 +01:00
Boris Faure 2063e2f4f4 fix ^[22m: no bold/bright, no faint 2014-03-03 23:02:17 +01:00
Boris Faure 5067594760 improve TODO message 2014-03-01 16:07:16 +01:00
Boris Faure b22a4f6ab1 handle soft reset (DECSTR) 2014-03-01 15:39:58 +01:00
Boris Faure 42e4fdfc59 improve debug for unhandled csi 2014-03-01 15:29:32 +01:00
Boris Faure f6a08ac7d8 skip buffer when dcs parsing overflows. Closes T932 2014-02-11 22:18:12 +01:00
Boris Faure 878f456160 fix copy/paste error: CID 1163307 2014-01-23 03:44:07 +01:00
Boris Faure ab9243b94f oops 2014-01-22 23:19:11 +01:00
Boris Faure 4602641ac0 fix typo: CID 1100646 2014-01-22 22:53:48 +01:00
Boris Faure defca7b58b remove dead code: CID 1100658 2014-01-22 22:52:27 +01:00
Boris Faure ac4117ce8a add bracketed paste (by egmont). Closes T670 2014-01-06 21:51:23 +01:00
Aleksandar Popadić ae9226f823 Give commit 5ab7a6f827 another go
"Do not let CUU and CUD scroll off screen."
Previously I missed how the default values are implemented.

Reviewers: billiob, cedric

Differential Revision: https://phab.enlightenment.org/D417

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2013-12-27 16:17:15 +09:00
Cedric BAIL 1cc793f564 Revert "Do not let CUU and CUD scroll off screen."
This reverts commit 5ab7a6f827.

This patch did completely break emacs for me. I have no idea what the intent was, but
at least my application/OS is broken.
2013-12-26 11:36:51 +09:00
Aleksandar Popadić 1f62a447a3 DECCOLM - do not change terminal height
Summary: I'm taking xterm as a reference here.

Reviewers: billiob

Reviewed By: billiob

Differential Revision: https://phab.enlightenment.org/D410
2013-12-25 12:09:54 +01:00