Commit Graph

32498 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
3544ce4a4e Fix crash when accepting change
The problem is the use of cursor movement methods to update cursor.
Cursor::forwardPos() steps into insets, which is not always what we
want. The problem here is that there is a math inset just after the
accepted change, and that the cursor steps into it for some reason.

This code is a nightmare anyway.

Fixes: bug #9145
2014-06-05 12:51:40 +02:00
Richard Heck
fff454fa4b Use a different naming scheme, per Enrico's suggestion.
(cherry picked from commit 533a05e0b8)
2014-06-04 12:47:37 -04:00
Richard Heck
b9db0c1321 Flush stream more often to help figure out where the mystery crash
originates.
(cherry picked from commit 5536b0c7fe)
2014-06-04 09:22:21 -04:00
Richard Heck
8615003fd9 Update ANNOUNCE file. 2014-06-04 09:07:37 -04:00
Kornel Benko
e75595c1b1 * sk.po 2014-06-04 12:29:08 +02:00
Jean-Marc Lasgouttes
d4faf127d7 Make TextMetrics::editXY more robust
This fixes a crash in examples/fa/splash.lyx when selecting text
representing menu entries. This happens because menu names are in LTR
English, while the inset itself is in RTL.

The problem is that the current code relies on the fact that
 1. getColumnNearX and checkInsetHit share the same idea about cursor
    position.
 2. pos and pos + 1 are in general consecutive on screen.

It seems that 1. is wrong here (for reasons I did not try to
understand); the second assumption is definitely false with
bi-directional text. This makes editXY very fragile.

The new code should be more robust in this respect. The logic is:
 * if checkInsetHit finds an inset, use its position,
 * otherwise, ask getColumnNearX for the cursor position.

Fixes: #9142
2014-06-04 12:17:01 +02:00
Juergen Spitzmueller
8669088b71 de.po: update 2014-06-04 10:39:14 +02:00
Uwe Stöhr
aa6a4c818d fr.po: updates for 2.1.1 from Jean-Pierre 2014-06-04 02:52:44 +02:00
Richard Heck
094129f804 Per a suggestion of JMarc's, first write the saved file to a
temporary name, then move it to its real location if we succeed.
This prevents our over-writing the existing file with a corrupt
one.
(cherry picked from commit 10364082c8)
2014-06-03 11:48:49 -04:00
Richard Heck
0f3746400e Copy over changes to lyx2lyx made in master. Unfortunately, some of
these got committed to stable and some did not, and now it is all but
impossible (I've tried) to do this by cherry-picking.
2014-05-29 18:17:08 -04:00
Enrico Forestieri
94ed54b51a Fix reversion of box insets.
(cherry picked from commit da75d31948)
2014-05-29 18:06:50 -04:00
Georg Baum
76417c7326 Do not corrupt documents without newline at EOF
trim_eol() assumes that a line always ends either with \n, \r, or \r\n.
This assumption is always valid except for the last line of a document, since it
may miss the trailing newline. LyX does not create such documents, bu they may
result from automatic creation tools, and LyX can read them, so lyx2lyx should
be able to read them as well.
(cherry picked from commit c75c6e446a)

Fix the fix

MAC-style (pre-OS X) line ends were not recognized anymore
(cherry picked from commit 55af9cb006)
2014-05-29 11:28:04 -04:00
Enrico Forestieri
b851a60376 Avoid processing multiple times the same paragraph when converting latex arguments.
(cherry picked from commit 0080201977)
2014-05-29 11:24:53 -04:00
Enrico Forestieri
20214ee224 Fix an off-by-one error in the reversion of beamer documents.
(cherry picked from commit dbd4d781dc)
2014-05-29 11:24:41 -04:00
Enrico Forestieri
a640f4244e Fix indentation of paragraphs after an environment.
When deciding whether a paragraph should be indented or not, LyX
only takes into account default layouts. This is wrong, because
an environment could be nested into another one and thus a following
paragraph would not be "default". With this patch all paragraphs
after an environment are correctly indented, independently of
whether their layouts are "default" or not.
The latex output (which was modeled following the previous wrong
assumption) is also correspondingly adapted.

No status line needed as this is the completion of previous patches.
2014-05-28 22:16:40 +02:00
Enrico Forestieri
f40adfd486 Fix another glitch with on-screen indentation.
If a new paragraph is created just before a nested environment,
the indentation of the nested environment is not computed
correctly because the parindent of the previous layout would
also be erroneously taken into account. This would cause the
nested environment to move back and forth when something is
added to the new paragraph.

A proper status line covering this change is already present.
2014-05-24 02:12:56 +02:00
Richard Heck
5579d3734a Improve the fix for #9131. We were previously counting passes
through this routine, which means: one for every character, more
or less. So long strings would hit the "recursion limit". But what
we are worried about is an infinite loop caused by misues of macros,
so that is what we need to count.
2014-05-23 11:19:14 -04:00
Richard Heck
b128f3de14 Fix bug #9131 for stable branch. The real problem lies
elsewhere, but it will require major surgery and, more
importantly, a file format change.
2014-05-23 11:01:07 -04:00
Georg Baum
5df89e5006 Fix another crash similar to #9030
This one occured after the fix for bug #9030 if the cursor is in a math inset
and the edit menu is opened.
2014-05-22 22:04:09 +02:00
Enrico Forestieri
956f503401 Fix wrong indentation on screen.
LyX fails to indent on screen a standard paragraph when it is
nested into an environment. The fix is a one-liner but the diff
is larger because it also fixes a previous wrong indentantion
in the source ;)

No status line needed because this is an extension of f5a246b1.
2014-05-21 23:59:53 +02:00
Pavel Sanda
33496a0aa5 * Additional.lyx - note for windows git users.
https://www.mail-archive.com/lyx-users%40lists.lyx.org/msg98988.html
2014-05-21 11:06:52 -07:00
Juergen Spitzmueller
994155b2a6 Output arguments required by arguments with default or preset arg
Fixes: #9128
2014-05-21 15:53:53 +02:00
Juergen Spitzmueller
ad723c41b6 Fix nesting in some beamer reversion methods.
Patch by Enrico
2014-05-21 15:44:30 +02:00
Juergen Spitzmueller
02410adbfe Fix reversion of beamer overprint when a nested paragraph has an argument 2014-05-21 15:42:03 +02:00
Georg Baum
c9fdf37678 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.
2014-05-19 21:50:34 +02:00
Juergen Spitzmueller
1379c381c3 Fix crash when right-clicking into an inset with more paragraphs than the main text.
Fixes: #9123.
2014-05-18 18:08:43 +02:00
Richard Heck
ccd8cd89ad Add limits to searches in convert_TeX_brace_to_Argument.
(cherry picked from commit eb26d85dc9)
2014-05-18 11:26:34 -04:00
Enrico Forestieri
1fa06296b6 Adapt output to the on-screen representation.
LyX assumes that a standard paragraph following a layout with
NextNoIndent==false has to be indented on screen, so output the
necessary blank line to make it so also in the output.
2014-05-17 22:05:07 +02:00
Enrico Forestieri
f5a246b185 Fix an on-screen representation glitch.
If a layout has NextNoIndent set to true, the following paragraph
is not indented on screen. LyX checks the previous layout for that
style parameter to decide whether to indent or not. Of course,
what matters is the latex output and the on-screen representation
should match this output. Now, when a layout has NextNoIndent==true,
the latex output is correctly not indented, while the on-screen
representation may fail to match this output. This can occur when,
for example, a standard paragraph is nested in the previous layout,
because LyX would check the property of the nested layout instead
of the container layout. Thus, LyX should check the property of a
previous layout at the same depth for correctly deciding whether
a paragraph has to be indented or not.
See also http://www.lyx.org/trac/ticket/9055#comment:12 for an
example document where the previous scenario actually occurs.
2014-05-16 21:58:21 +02:00
Richard Heck
b17802ba81 Fix bug #9112: There is a test here that seems intended to catch the
case where there are unbalanced braces, but it comes too late. In that
case, we try to check cmd[docstring::npos] and crash.
(cherry picked from commit 6b0a8fbc96)
2014-05-10 10:40:30 -04:00
Juergen Spitzmueller
ede754039d Beamer block conversion: consider ERT arguments with leading/trailing blanks
Should also go to branch.
2014-05-08 19:52:01 +02:00
Juergen Spitzmueller
4a24d8bec3 Monolingualization 2014-05-08 08:36:38 +02:00
Enrico Forestieri
2c2ba981fb Fix problem with drawing of math backround with selections.
(cherry picked from commit 3e681bea4f)
2014-05-07 14:23:53 -04:00
Juergen Spitzmueller
5160fa1043 Stabilize mouse selection in mathed
Fixes: #9074
2014-05-06 17:10:11 +02:00
Jean-Marc Lasgouttes
bd206ff5f5 Turn an error message into a Debug::LOCALE warning 2014-05-06 16:41:26 +02:00
Juergen Spitzmueller
b14e5925a9 Fix View Source size
Fixes: #9084.
2014-05-02 11:03:32 +02:00
Georg Baum
90a16b3ec1 Forgot status 2014-05-01 13:53:17 +02:00
Georg Baum
b0664e0c98 Fix table rotate conversion to 2.0 format
The old code did create invalid documents, since the space between the rotate
flag dn the previous flag was removed.
2014-05-01 13:48:44 +02:00
Juergen Spitzmueller
932b81c175 Status update 2014-04-30 16:06:27 +02:00
Juergen Spitzmueller
ad203a33d5 lyx_pot.py: Do not strip blanks in HelpText.
This fixes a thinko introduced in [c5ef7cfc/lyxgit]

Fixes: #9054.
2014-04-30 16:05:02 +02:00
Juergen Spitzmueller
28705e8933 Do not write an empty default_otf_view_format.
Fixes: #9100.
2014-04-30 16:02:22 +02:00
Uwe Stöhr
ff507c1a33 status.21x: move an entry to the correct position 2014-04-29 22:27:51 +02:00
Uwe Stöhr
f8bc6e8267 CREDITS: add Min Ding and Roy Xia 2014-04-28 22:55:09 +02:00
Uwe Stöhr
f5fb48cdb5 Merge branch '2.1.x' of git.lyx.org:lyx into 2.1.x 2014-04-28 22:27:19 +02:00
Uwe Stöhr
e7e5bfc8b6 zh_CN.po: updates from Min Ding 2014-04-28 22:26:59 +02:00
Georg Baum
b73a59932e Fix lyx2lyx math package defaults (bug #9069)
lyx2lyx sets all new math packages to off when converting from old formats.
This is correct if any command which would cause an automatic package loading
exists in the document. However, it is wrong if no command exists: This leads
to problems if later a command is added (bug #9069), which is especially
annoying for templates.
The fix consists of two parts:
1) convert_use_package() considers now the used commands like
   revert_use_package(), and uses them to decide whether to set the package to
   auto or off.
2) convert_undertilde() and revert_undertilde() use a slightly adjusted copy of
   convert_use_package() and revert_use_package(), so that the bug is also
   fixed for undertilde. We cannot use the latter functions directly, because
   of "\usepackage undertilde" vs. "\use_undertilde".
2014-04-27 18:09:29 +02:00
Georg Baum
d47a556b46 Fix math package conversion to 2.0 format
When doing the lyx2lyx round trip of the 2.0.8 user guide from format
413 -> 474 -> 413 you get an invalid document, because the math packages
mhchem and undertilde are incorrectly converted.
It turned out that the old reversion code did only work for particular
package oderings. The new one works for abitrary sorted packages.
2014-04-27 18:08:24 +02:00
Georg Baum
28bde98d76 Fix data loss in user guide conversion to 2.0.x
When doing the lyx2lyx round trip of the 2.0.8 user guide from format
413 -> 474 -> 413 you do not get a zero diff. The most important problem is
caused by the conversion of the argument insets to the old syntax: This
conversion adds an additional empty line (harmless), and it destroys the
document structure if the first inset in e.g. a subsection is not an argument
inset, but e.g. an index or label inset.
The fix is quite easy: Ensure that the paragraph begin is set to the first
argument inset.
2014-04-27 18:06:34 +02:00
Georg Baum
e754d00faa Fix warning in lyx2lyx 2.0<->2.1 round trip
revert_justification() issues a warning if the \justification parameter does
not exist, and LyX itself always writes it unconditionally as well, so add it
also in lyx2lyx when converting old documents.
Currently this does not have any user visible effect, but it decouples the
default value of BufferParams::justification from the conversion of old
documents: Now it is possible to set the default to false in LyX, and old
documents will still be converted correctly.
2014-04-27 18:05:22 +02:00
Uwe Stöhr
e19dd094da README.localization: add info 2014-04-27 17:27:35 +02:00