mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 13:18:28 +00:00
Ugly fix for bug #9102
The real problem is the encoding of latex_language: It is hardcoded to latin1, but InsetListig uses the currently active encoding. Therefore, we cannot tell whether any given character wil be encodable or not, and we should not prevent non-ACII characters. In the future, we need to make the encoding of latex_language dynamic, so that it always represents the currently active encoding. Then, we could do the correct check both for listings and ERT. For now, I simply disabled the encoding check for listings, which also means that bug 9012 might occur in other cases for listings, but this is less important than bug 9102.
This commit is contained in:
parent
cda00d8329
commit
35ec98bcb2
@ -1008,7 +1008,10 @@ void Text::insertChar(Cursor & cur, char_type c)
|
|||||||
|
|
||||||
// Prevent to insert uncodable characters in verbatim and ERT
|
// Prevent to insert uncodable characters in verbatim and ERT
|
||||||
// (workaround for bug 9012)
|
// (workaround for bug 9012)
|
||||||
if (cur.paragraph().isPassThru() && cur.current_font.language()) {
|
// Don't do it for listings inset, since InsetListings::latex() tries
|
||||||
|
// to switch to a usable encoding which works in many cases (bug 9102).
|
||||||
|
if (cur.paragraph().isPassThru() && owner_->lyxCode() != LISTINGS_CODE &&
|
||||||
|
cur.current_font.language()) {
|
||||||
Encoding const * e = cur.current_font.language()->encoding();
|
Encoding const * e = cur.current_font.language()->encoding();
|
||||||
if (!e->encodable(c)) {
|
if (!e->encodable(c)) {
|
||||||
cur.message(_("Character is uncodable in verbatim paragraphs."));
|
cur.message(_("Character is uncodable in verbatim paragraphs."));
|
||||||
|
Loading…
Reference in New Issue
Block a user