if (len <= 0)
in _cb_fd_read() is ALWAYS coming up with len < 0 for me and that'd
be LOGICAL... eg if read() returns an error (something ok to allow us
to continue) and so my terminal content NEVER appears - because
terminology is returning false from the fb handler asking it to be
deleted. this is wrong so put it inside #ifdef of fuzzing so it
doesn't affect "normal people". i still think it is broken tho... but
at least i have my terminal back now.
This reverts commit 1f3f779258.
this breaks terminal scrolling entirely! can't scroll anymore at all
in standard shell. just try a simple: find / -print
this fixes breaks introduced by
e94051dd86 (the previous commit).
latest commit: e94051dd86
breaks 2 things.
1. double-click to select a "word" is broken. the right end of the selection is
stuck at the point where the cursor is, not the right end of the word. try it.
at least that is what i see. either way double-click to select a word is now
broken. ;(
2. what used to be black whitespace bg is now "empty" chars (so i see
terminology bg). this breaks jed output pretty badly.
see...
working:
http://www.enlightenment.org/ss/e-54d05f357a3391.24747752.png
not working:
http://www.enlightenment.org/ss/e-54d05f672a4df7.83729511.png
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 |
+------+