24569 Commits

Author SHA1 Message Date
Juergen Spitzmueller
46c48a5a3d tex2lyx: do not force default bibliography style if none is set
Some classes provide a \bibliographystyle, so we must not output any
\bibliographystyle if none is set in the TeX file.

Fixes: #10673
(cherry picked from commit ed331bedd6f7c412cbcf552c58da5d7b62846339)
2018-02-24 08:34:11 +01:00
Juergen Spitzmueller
8dde86d2de Fix list of viewable formats in view/update menu.
Also fix list in (currently unused) Export toolbar button.

Fixes: #11044
(cherry picked from commit ab6bd5e3190e61fa46eb2fd057cdf7f71faf3f38)
2018-02-22 10:42:34 +01:00
Jean-Marc Lasgouttes
17bf8fd74c Kill macro mode when using LFUN_ESCAPE
Add a `cancel' boolean to macroModeClose() that just removes all trace
of what has been entered instead of finalizing it.

When entering a macro in mathed, let LFUN_ESCAPE invoke
macroModeClose(true). The new semantics of LFUN_ESCAPE in mathed is
thus to abort the input of a macro name.

Fixes bug #9251.

(cherry picked from commit 9296344b9a26191a2092d175a51e357ecc35145d)
2018-02-21 11:21:41 +01:00
Juergen Spitzmueller
bea9086c85 escape label in included listings
Also use docstring rather than string.

Fixes part of #10544

(cherry picked from commit 0bf88651229bddc34b9856c7fa025245aa4246b8)
2018-02-20 10:30:21 +01:00
Juergen Spitzmueller
c8ea98fb2a Adapt to new ChkTeX return values.
As of v. 1.7.7, chktex has four exit values. Only consider the program
failed with EXIT_FAILURE (1). This is backwards compatible to chktex
up to v. 1.7.5 and later patched versions included in TeXLive, where
there was the distinction EXIT_FAILURE (program failed) and EXIT_SUCCESS
(program successfully run, with or without something to report).

Note that ChkTeX v. 1.7.5 and 1.7.6 vanilla (as included in MikTeX) also
returned EXITE_FAILURE if ChkTeX found something to report.

We do not, and never did, support this case.

Fixes: #9989 (after ChkTeX 1.7.7. is released).
(cherry picked from commit 0d806799aaef65b12a9b75e8c49c2613c68d5ac2)
2018-02-18 09:22:32 +01:00
Juergen Spitzmueller
2c0d681b21 Do not use English, but the context language, when pasting from math
Fixes: #2596
(cherry picked from commit 92990adc236b19277a80c82ffa0580f5d1555bb0)
2018-02-16 18:22:01 +01:00
Juergen Spitzmueller
0e57e3e3f5 Do not use English, but the context language, when pasting from LaTeX
Fixes: #9199
(cherry picked from commit e85704020ba613594a38e6f016ca7905c8f84c94)
2018-02-16 17:06:46 +01:00
Juergen Spitzmueller
262bb7e2ce amend 71fea633266
(cherry picked from commit be4d49ebd107cb4b91844a555302a6052457c483)
2018-02-16 17:00:44 +01:00
Juergen Spitzmueller
482de36876 Disable CheckTeX while buffer is processed
Since CheckTeX itself processes the tex file, a synchronous run with
a TeX process can lead to all sorts of conflicts, including crashes.

Fixes: #7434.
(cherry picked from commit 71fea6332667e1a9fe99c38624e4dcaf1129d6c5)
2018-02-16 17:00:11 +01:00
Juergen Spitzmueller
a655ef69a8 Disable BUFFER_EXPORT and BUFFER_EXPORT_AS while buffer is processed
I am rather irritated we didn't do this already, since synchronous runs
with BUFFER_VIEW or BUFFER_UPDATE leads to all sorts of problems,
including crashes.

Fixes the crash in #8338 (but not the bug itself).

(cherry picked from commit 1437ae3f9cf78ffd5c639cb4e70a0b1fba9f600e)
2018-02-16 16:57:34 +01:00
Juergen Spitzmueller
388a284688 Re-add method to get a temporary file name without persistent QTemporaryFile object
This is needed for cases where the temp file has to be manually removed
at some point (e.g., if temp files are used as conversion target, and
the initial file only serves as a placeholder), since QTemporaryFile
objects cannot be manually removed at least on Windows (they are always
kept open internally even after close()). See
​http://lists.qt-project.org/pipermail/interest/2013-August/008352.html

In order to avoid race conditions due to duplicate names (the issue why
the old method was removed), we record all used temp file names.

Fixes: #9139
(cherry picked from commit 9e2928be68992161a54287d153e1e9431e30bb4c)
2018-02-14 17:24:37 +01:00
Jean-Marc Lasgouttes
e11c8ba81b Disable and hide the pixmap cache feature 2018-02-14 10:12:11 +01:00
Richard Heck
0dfca93139 Fix crash when citeengine is unknown.
(cherry picked from commit 5ee3396459602e0982234cab064c5c960af7e4fc)
2018-02-12 23:31:42 -05:00
Juergen Spitzmueller
fe414fcdd8 Fix race condition in processFuncRequestQueue
The issue here was that the element was only removed from the queue
after the func request was processed, but within that process, other
function could access the queue, so the queue could even be empty
when this function finally wanted to remove the item.

Fixes: #10406.
(cherry picked from commit dadec50a18d92d24d42e1ccf7474f07a2a66b5b4)
2018-02-10 18:32:03 +01:00
Enrico Forestieri
e43bf58223 Avoid an infinite loop
When pasting "\big" without any following delimiter, avoid
processing the same token again and again. For unknown reasons,
the delim docstring turns out to always be not empty: even when
it simply contains a '0' (no delimiter follows), its length is 1.

Fixes bug #11027.

(cherry picked from commit 8e8b3f610495493f4f1bff3f4a0ff48f4eab4539)
2018-02-10 10:36:48 +01:00
Juergen Spitzmueller
2d923e4243 Fix child document regex in scanLogFile
Several problems:
* The regex failed at names such as 1_text_2_text.tex
  (returned "2_text.tex)
* The regex failed at names such as 12_text.tex
  (returned "2_text.tex)
* Masters with digits in the name (2018_text.tex) were
  tracked as their own children

(cherry picked from commit 398e026250f6d7d1687bdf04a8a27a61946d088f)
2018-02-10 07:59:30 +01:00
Juergen Spitzmueller
04e995e807 tex2lyx: normalize bib and bst paths
Fixes: #7637
(cherry picked from commit 3cc98a9bf6ed506d04b502863d6424d36cb778b5)
2018-02-09 18:57:53 +01:00
Juergen Spitzmueller
af91405786 Consider class-provided citation engines
Do not attempt to load, nor allow to set, a different engine in this
case.

Fixes: #11022
(cherry picked from commit 2f6ada6644614df5f402efc7cbc1d27911b45376)
2018-02-09 09:50:43 +01:00
Juergen Spitzmueller
5549d3033f Reset cur.pit() when pasting into tables.
The number of paragraphs can change here, so pit() can become invalid.

Fixes: #9983
(cherry picked from commit 6e4e0869006aa4c225162164aaa14a70d041facf)
2018-02-09 09:37:51 +01:00
Juergen Spitzmueller
78911c7379 Revert "Mark follow-up paragraphs in a paragraph group as nested."
This reverts commit 70d580fea7c0d3e914a56b9a52b401b9f948e78d.
2018-02-08 17:09:15 +01:00
Juergen Spitzmueller
4285438558 Add missing connection.
This activates the OK/Apply when a biblatex style file is changed
manually

(cherry picked from commit 6236bcb653f36336b62d4c48769b2d60ec13a0dc)
2018-02-06 17:58:13 +01:00
Juergen Spitzmueller
14e0a27098 Enable CompressorProxy for all Workareas (incl. EmbeddedWorkarea)
This fixes the Advanced F&R.

(cherry picked from commit 5ce36019e591fbdf4a0cb3e44f3f9e2dc662be89)
2018-02-03 09:43:36 +01:00
Jean-Marc Lasgouttes
19c90f3a89 Make sure to add at least one element in row if possible
breakRow should only produce an empty row when there is nothing left
in the paragraph.

Fixes bug #10996.

(cherry picked from commit 253b935f65759ba15b6af02117f8316e2aaf676e)
2018-01-30 11:07:44 +01:00
Jean-Marc Lasgouttes
34c1b3c42c Remove 'premature optimization' that proved buggy
At some time it seemed like a good idea in breakRow() to return early
when the row was bound to be empty. It turns out that this creates two
symptoms:

* empty paragraphs will not have an end of paragraph marker

* since row width is not correctly computed in this case, caret ghosts
  can appear in master.

This commit removes the oprimization and replace the do {} while()
construct to a straightforward while() {}.

Related to bug #10952.

(cherry picked from commit 76f0a3dd4ee5c7958c6dea79628ef8c2ac2c59bd)
2018-01-30 11:06:30 +01:00
Juergen Spitzmueller
275d5d30de Differentiate Buffer strings and GUI strings in citeengines
The former need to be translated to the buffer language, the latter to
the GUI language.

Fixes: #10946
(cherry picked from commit 5db4d712ef660273c1c12f211fdb4adf5a792ec3)
2018-01-30 08:21:21 +01:00
Richard Heck
bb30118ff4 Revert "Fix bug #11055."
This reverts commit 0be5ae123c212f544ace41fa94a2149c0973595b.

Unintentionally committed. Sorry!!
2018-01-28 23:51:40 -05:00
Richard Heck
0be5ae123c Fix bug #11055.
See also https://marc.info/?l=lyx-devel&m=151709211602688&w=2.

(cherry picked from commit d3ee87eea282ca6e8f0a78bc6a0e27b4f0942624)
2018-01-28 23:46:39 -05:00
Juergen Spitzmueller
cf6ff2cac7 Properly communicate forced encodings
This is currently only relevant fo InsetListings, which falls back to
a fixed-width encoding under specific conditions. It is now possible
to query the inset about that and report the correct encoding in
DocIterator::getEncoding.

Addresses the second part of #10995

(cherry picked from commit f924ef29660af5afd22b96744a3e0bb128e1a58d)
2018-01-27 18:35:16 +01:00
Juergen Spitzmueller
463c994de2 Account for custom encoding in DocIteratior::getEncoding
Addresses #10995

(cherry picked from commit 7b169de401529c5801c4326e1712fcca59125f50)
2018-01-27 18:34:51 +01:00
Juergen Spitzmueller
fdc98c3fa8 Make another GUI string translatable
Part of #10999.

(cherry picked from commit 6ed7bbbf7e8b651ff4a424ee0adf7b6b58f8cef8)
2018-01-27 18:30:14 +01:00
Juergen Spitzmueller
47adfa661e Make GUI string translatable
Part of #10999

(cherry picked from commit 26755a015e1fbeccd96848ea873c5c4dc6de0aa8)
2018-01-27 18:29:46 +01:00
Juergen Spitzmueller
d65eee3688 Use proper localization chain for Box special width/height
Fixes: #11000
(cherry picked from commit e2160ec960de2f48e5b61dfab339902426d075f8)
2018-01-27 18:25:52 +01:00
Jean-Marc Lasgouttes
f27d2cfa30 Revert "Remove 'premature optimization' that proved buggy"
This reverts commit 894ae19224d0537c0c9ebd9ad45e547279769bd8.

Fixes bug 10996.
2018-01-27 12:18:25 +01:00
Juergen Spitzmueller
8cc7fe1c4b Fix outliner movement of frames
Make sure frames are properly separated from their neighbors above
and below in the target location.

Fixes: #10977.
2018-01-27 09:59:19 +01:00
Enrico Forestieri
8b0280d216 Correctly output a single char_type
On platforms where char_type is typedef'd to an integral type
rather than to wchar_t, when using the insertion operator <<
a single char_type is output as the number corresponding to the
code point of the character rather than as the character itself.
In this case, one has to use put().

(cherry picked from commit 144f06a00c58619557fb431877041fd9e4297a0f)
2018-01-25 20:49:45 +01:00
Juergen Spitzmueller
17e241c694 Fix output of quote ligatures with TeX font LuaTeX
Fixes: #10988
(cherry picked from commit 5fce313ffccea424487c83037b16f72f4f48eeb9)
2018-01-22 09:24:59 +01:00
Juergen Spitzmueller
34097ce8f0 Prevent to paste uncodable characters into verbatim
Since we now have proper encoding here, we can set this restriction.

(cherry picked from commit 54846d2d93e74dcdd827f28bb7c258269863fa65)
2018-01-20 09:23:00 +01:00
Juergen Spitzmueller
74a1666531 Introduce "inherit" encoding for latex_language
This gets rid of the hardcoded latin1 encoding for verbatim. Instead,
verbatim now inherits the encoding from the context, which is what is
actually wanted here.

Fixes: #9012, #9258
2018-01-20 09:22:38 +01:00
Jean-Marc Lasgouttes
93893396e4 Initialize properly class member
Spotted by coverity.

(cherry picked from commit 2ba00ecb7bf00b5f6a22f2f6ae23c4c9127e8a93)
2018-01-19 09:33:53 +01:00
Juergen Spitzmueller
b0868e6eb1 Use qt4-compatible connect() syntax.
Signed-off-by: Juergen Spitzmueller <spitz@lyx.org>
(cherry picked from commit aab58fed6b140e1629d7c4c4f7becbf5b3e74160)
2018-01-19 09:33:06 +01:00
Guillaume MM
789617b818 Install a new compressor
A brand new event compressor based on Kuba Ober's cleverly simple
solution: <https://stackoverflow.com/a/21006207>.

Fix #9362, #9461, #9933: Lyx suddenly gets keyboard keys wrong, and
deadlocks

Fix #9790: LyX should perform key event compression (for improving the
remote X connections one would also need to implement
Qt::WA_KeyCompression)

Fix #10516: slowness on repeated arrow keys with IBus and Qt5

Patch pulled from
https://github.com/gadmm/lyx-unstable/commit/bf5a1efb0db5bfc2b

Signed-off-by: Juergen Spitzmueller <spitz@lyx.org>
(cherry picked from commit 43e4b8073445d147be353013e3a7e081e11653ba)
2018-01-19 09:32:32 +01:00
Jean-Marc Lasgouttes
9bec4b8a0a Fix repaint of unselected branch
This works around a TextMetrics issue where Row::beg/end_margin_sel
are sometimes not reset correctly when there is no selection on the
row.

In master a fix for this problem has been done at 654cded1. Here we
prefer a much simpler work around that fixes the symptom.

Fixes bug #10972.
2018-01-16 09:37:30 +01:00
Jean-Marc Lasgouttes
894ae19224 Remove 'premature optimization' that proved buggy
At some time it seemed like a good idea in breakRow() to return early
when the row was bound to be empty. It turns out that this creates two
symptoms:

* empty paragraphs will not have an end of paragraph marker

* since row width is not correctly computed in this case, caret ghosts
  can appear in master.

This commit removes the oprimization and replace the do {} while()
construct to a straightforward while() {}.

Related to bug #10952.

(cherry picked from commit 76f0a3dd4ee5c7958c6dea79628ef8c2ac2c59bd)
2018-01-15 09:49:10 +01:00
Juergen Spitzmueller
9b603d90c8 Fix loop while separating
getMaxDepthAfter() gives wrong result here.

Fixes: #10979

Signed-off-by: Juergen Spitzmueller <spitz@lyx.org>
(cherry picked from commit bceaa7f92971f62014da43557815479d40adf551)
2018-01-13 10:01:44 +01:00
Juergen Spitzmueller
9e8d702d63 Fix Null-checking issue detected by Coverity.
(cherry picked from commit 974553d8583954aa7741c4dc0ce83f9ca812b03b)
2018-01-12 10:31:40 +01:00
Pavel Sanda
f91e77d18e RCS: commit undo allowed only in unlocked state. 2018-01-11 23:47:41 +01:00
Juergen Spitzmueller
70d580fea7 Mark follow-up paragraphs in a paragraph group as nested.
This gives a more consistent indication of what belongs to an environment
(and semantically, such paragraphs are synonymous to nested standard
paragraphs)

Addresses part of #9261.
2018-01-07 10:38:30 +01:00
Jean-Marc Lasgouttes
572b29b139 Update buffer when an inset or an INFO inset has bee inserted
This is important for info inset, since if updateBuffer needs to be
run in redoParagraph (for the macro code), crashes can happen.

Fixes bug #10944.

(cherry picked from commit 806f40dbd4e861e3def104f26a8b70ed8c3ba386)
2018-01-06 15:08:42 +01:00
Guillaume MM
225d47f298 Fix preview with a nested preview not being shown (#10795)
Regression at db581113.

(cherry picked from commit 94c65074e029937b549f5ed5af1001fadbe408be)
2018-01-06 02:58:36 -05:00
Richard Heck
b92ddb0362 Fix bug #10951.
The Buffer member for the remembered definition_ was not being set.

(cherry picked from commit f130f7713fae326daa05795a5bf4761d33aee649)
2018-01-04 15:26:57 -05:00