The culprit in keytest is the possibility to lose some keystrokes.
The idead here is that the keystokes are cached by QT until some
control character is entered forcing e.g. new dialog.
So, splitting input lines at these characters should be enough
to ensure that the next chars are not lost.
iconv fails, if a nomenclature inset contains an uncodable character
This led to failure of the indonesian UserGuide in the attic.
Fix it there and add a minimal, specific test sample instead.
1.) Don't modify the line as it happened at start of sendKeystringLocal()
2.) Split lines on each keysym (e.g. \[Return])
3.) Beatify the debug output of the sent text
This makes the wrapper working smoothly even for more complicated
input lines.
Also we do not need the window- parameter in call to xvkbd.
Still, there _is_ something fishy. At first run it can happen that
some keytest fail. But not reproducible at subsequent calls.
It feels like QT would cache some data and therefore lyx reacts
later faster.
This work is a result of collaboration with Tommaso Cucinotta.
Changes are:
1.) make it python3 compatible
2.) rewritten the lyx_status() routine
3.) routines lyx_sleeping(), lyx_zombie(), lyx_dead() now depend on lyx_status()
4.) dont send keystring "\Afn" at start as it is language dependent
5.) handling of TestEnd uses now lyx-commands to stop the lyx-session.
Use 'kill -9' only if unsuccessful
New special character to mark an optional line break
without inserting a hyphen (ZWSP). See #10585.
Corresponds to the Unicode character U+200B ZERO WIDTH SPACE
This isn't a “space”. It is an invisible character that can be used
to provide line break opportunities.
http://unicode.org/notes/tn27/
While the literal Unicode character can be used in the LyX
file, it is invisible in the GUI.
For visible feedback, the patch adds a new special character "allowbreak".
The small mark is inspired by LibereOffice.
A tooltip is added.
- from specific dependency on wish8.5, to just wish
- from checking the 2nd line of /proc/*/status, to grep-ing on sleeping (old system was failing on newer kernels)
- mode debugging and python output during tests
There a some exceptions related to the fact that BOOST_ASSERT throws
an unhandled exception, which is fait enough. This is handled by
uploading a modeling file to coverity.
The second batch of issues are related to the use of lexical_cast in
convert.cpp. We use now a wrapper around boost::lexical_cast that does
not throw but return empty strings instead. I am not sure actually of
when lexical_cast could fail.