Commit Graph

1836 Commits

Author SHA1 Message Date
Georg Baum
07afd76b7c Fix compilation with libc++
libc++ (http://libcxx.llvm.org/) is used on OS X with newer XCode.
The patch is from Benjamin Piwowarski <benjamin.piwowarski@lip6.fr>, I only
added more comments.
The changes regarding implicit conversion to bool of std::iostream work
because both the C++98 and C++11 standards guarantee that boolean evaluation
of streams returns !fail(). See e.g.
http://stackoverflow.com/questions/1334858/why-dont-iostream-objects-overload-operator-bool
for details.
2014-03-04 23:27:57 +01:00
Richard Heck
7b46aa8fbb Forgot in previous commit to deal with case. As I'm doing it now,
it's easy to use the existing docstring routine, so I've commented
out the string version of lowercase I had introduced. I've left the
code in case someone else needs it later.
2014-02-23 12:04:56 -05:00
Richard Heck
e5ea535952 If the selection is some sort of URL, then make it the target, not
the name, in the hyperlink. Fixes bug #8792.

This also fixes a bug discovered while working on this code: The
params passed to GuiHyperlink were never used.
2014-02-23 11:36:54 -05:00
Stephan Witt
cfe9724a4c add -fobjc-exceptions for compiling linkback sources with g++ and cmake on Mac
Original patch is from Ramanathan Vishnampet
2014-02-19 16:11:03 +01:00
Kornel Benko
5efd59733a Remove warning 2014-01-05 10:04:23 +01:00
Kornel Benko
805e51eff8 Implement file locking and apply to configure
Functions for file locking are added. They are used for ensuring that
for specified userdir only one LyX process runs configure.
2013-11-20 19:40:32 +01:00
Enrico Forestieri
45a6a9362c Ditch the quote_python flag.
This was discussed on the list some months ago:
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg179563.html
2013-10-13 23:57:33 +02:00
Jean-Marc Lasgouttes
50af06c29b Implement reading of mo files with bad byte endianness 2013-10-11 17:21:16 +02:00
Georg Baum
6a30211fef Make encoding conversions thread safe
This is the result of the discussion on the list "2.1.0 Blocker". Thanks to
all contributors!
The main idea is to use thread-local storage for all static variables.
This solution does not need any mutex. For more details, see the comment in
unicode.h.
2013-10-10 21:20:44 +02:00
Georg Baum
3e83380350 Remove questionable Mutex copy code
It is no longer needed, and it had a comment that it needed review...
Now anybody who tries to make a copy again is forced to think about it,
instead of trying and using possibly wrong semantics by accident.
2013-10-08 22:06:55 +02:00
Jean-Marc Lasgouttes
72c13323d8 Remove dependency on NO_LAYOUT_CSS #define in Layout.cpp
Remove all traces of this #define.
2013-09-29 15:26:15 +02:00
Vincent van Ravesteijn
72f70cbe5e Fix bug #8830: Compile error with disabled NLS
The Messages::gui_lang_ variable is instantiated in the '#ifdef ENABLE_NLS' block. To prevent compile problems, we should also instantiate it when NLS is disabled.
2013-09-09 16:25:53 +02:00
Jean-Marc Lasgouttes
56e2448546 Fix compilation on Solaris 11.1 (bug #8783)
Make sure that the configure script only checks features using the C++ compiler.

Also get rid of our last C files, since they are not compiled nor distributed anyway.
2013-09-09 11:02:14 +02:00
Stephan Witt
bb2a75b778 add frameworks to linker flags for Mac OS X 2013-07-20 21:24:56 +02:00
Scott Kostyshak
5225821242 Prevent zombie processes (#8774)
Using Systemcall::startscript() with Starttype::DontWait used to create
zombie processes, as nobody would collect them. This patch starts those
processes as detached, hence preventing them from becoming zombies.

In addition to #8774, this bug was also reported here:
https://bugs.launchpad.net/ubuntu/+source/lyx/+bug/1096666

Patch from Guy Rutenberg. For reference, see this email thread:
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg180034.html
2013-07-16 01:02:28 -04:00
Jean-Marc Lasgouttes
deb6e16e79 Move a Qt workaround to the Qt frontend. 2013-06-04 12:08:36 +02:00
Vincent van Ravesteijn
129d43c5c9 Correctly find the gmo files in build dir
The path to the lyx binary is either <build_dir>/bin (CMake) or
<build_dir>/src (autotools). This means the po directory can be found one
directory up.
2013-06-02 15:32:35 +02:00
Kornel Benko
22d52f5f08 cmake: Use provided gmo-files if platform lacks python or gettext tools.
Running lyx from the build-directory now searches for the gmo-files
first in the build dir and then in source dir
2013-06-02 11:38:27 +02:00
Georg Baum
12554c93d8 Remove ugly multiple definition hack
Since 00387b2a38 it is possible to construct a dummy Messages object
which does not translate at all. With the old gettext implementation, a
Messages object without a defined language would have used a language from
an environment variable. Therefore, the duplicate definition of _() is no
longer needed. This gettext removal was really a good idea!
2013-05-31 22:07:14 +02:00
Jean-Marc Lasgouttes
00387b2a38 Fix crash at startup for tex2ylx and lyxclient
This is done by handling explicitly a dummy Message object, where no parsing of mo file is attempted. This avoids in turn that the lyxerr object is used during initialization of a global dummy Message object.
2013-05-31 11:59:52 +02:00
Stephan Witt
3f59d7e2cc add toFilesystemEncoding for --binary-dir argument 2013-05-31 09:00:28 +02:00
Uwe Stöhr
bf7af9fd07 Package.cpp: correctly quote configure call
- fixes bug #8711
2013-05-31 04:23:40 +02:00
Jean-Marc Lasgouttes
149b574b07 Read the right .gmo files when running in place
With gettext, we have been forced to install .mo files at the right place in order to read them. Now that we have our code, the situation changes.

* Add new method Package::messages_file(code), when returns the right path, depending on whether we are running in place.
* In Messages class use that intead of the existing one.
2013-05-30 22:10:01 +02:00
Vincent van Ravesteijn
a3c864102a CMake: Remove libintl 2013-05-30 22:10:01 +02:00
Jean-Marc Lasgouttes
d7e2705228 Get rid of all traces of libintl.
This requires to re-add some tests in configure.ac.

Note that the code to generate a Makefile in po/ has been kept.
2013-05-30 22:10:01 +02:00
Jean-Marc Lasgouttes
19024f7255 Implement native reading of mo files.
Get the default language by a mix of QLocale and LyXRC::gui_language

Known limitations:
   * encoding is supposed to be UTF-8 (the charset parameter is checked);
   * context is not handled (implemented differently in LyX);
   * plural forms not implemented (not used for now in LyX);.
   * tThe byte endianness of the machine on which the .mo file have been
     built is expected to be the same as the one of the machine where this
     code is run.
2013-05-30 22:10:01 +02:00
Vincent van Ravesteijn
762c4eca57 Increase the uniqueness of the temp directories
Now, the temporary directories are composed of the PID + 8 random
characters. This used to be the PID + 2 random characters.

See also 327f7ed90d.
2013-05-19 14:09:06 +02:00
Vincent van Ravesteijn
19418730dd Add a special regfile for filetools test on windows 2013-05-15 09:11:25 +02:00
Vincent van Ravesteijn
0b9714f8df Revert "qt5: Fix use of zlib"
This reverts commits ba3332c6 and f96583e8.
2013-05-14 17:34:51 +02:00
Vincent van Ravesteijn
ba3332c62d qt5: Fix use of zlib
As Qt5 includes zlib as well, we have to use the same naming convention.
2013-05-14 14:24:12 +02:00
Vincent van Ravesteijn
fec57fe959 Implement the use of [[Context]] for placeholders
When placeholders are used, the context can indicate what will be
substituted for the placeholder (e.g. "%1$s[[date]], %1$s[[time]]).
2013-05-13 22:21:33 +02:00
Georg Baum
b79c88034e Add test for Layout::write()
When running the test, you'll get the following messages:

Testing ../../src/../lib/layouts/siamltex.layout...
Layout.cpp (268): Cannot copy unknown style `Enumerate'
Testing ../../src/../lib/layouts/svglobal.layout...
Cannot delete style `Dedication'
Testing ../../src/../lib/layouts/svjog.layout...
Cannot delete style `Dedication'
Testing ../../src/../lib/layouts/svprobth.layout...
Cannot delete style `Dedication'

These are no errors of Layout::write(), but they indicate problems in the
definition of the layout files.

Kornel, it would be nice if you could do the cmake part.
2013-05-13 21:53:28 +02:00
Lars Gullik Bjønnes
704328d348 Remove ; from end of function definitions 2013-05-12 13:04:18 +02:00
Jean-Marc Lasgouttes
cc00530743 Remove cruft 2013-05-08 15:12:42 +02:00
Richard Heck
edd127f993 Make strings used in various assertions non-static. 2013-05-02 15:21:19 -04:00
Jean-Marc Lasgouttes
bd2e7480b1 A first batch of potential bugs spotted by llvm/clang
There are more warnings left, but these are the easiest to fix. And some of them are real bugs (assignments with == instead of =).
2013-05-02 16:38:25 +02:00
Jean-Marc Lasgouttes
fb0827f8bb Small changes to Poor man's profiler
* report results in milliseconds instead of microseconds
* report total time spent in block, additionally to mean time
* cause compilation error with --enable-stdlib-debug
2013-04-30 16:43:29 +02:00
Richard Heck
68408556c7 Clean up comments a bit. 2013-04-28 12:08:30 -04:00
Richard Heck
d79225ae98 Remove all messages to user related to assertions. We'll just use
a basic message which is defined in lassert.cpp now.
2013-04-27 17:52:55 -04:00
Richard Heck
1b1f8dd235 Audit all the LASSERT calls, and try to do something sensible at
each failure.

There are several places I was not sure what to do. These are marked
by comments beginning "LASSERT:" so they can be found easily. At the
moment, they are at:

Author.cpp:105: // LASSERT: What should we do here?
Author.cpp:121: // LASSERT: What should we do here?
Buffer.cpp:4525:        // LASSERT: Is it safe to continue here, or should we just return?
Cursor.cpp:345:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:403:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:1143:                // LASSERT: There have been several bugs around this code, that seem
CursorSlice.cpp:83:     // LASSERT: This should only ever be called from an InsetMath.
CursorSlice.cpp:92:     // LASSERT: This should only ever be called from an InsetMath.
LayoutFile.cpp:303:                     // LASSERT: Why would this fail?
Text.cpp:995:           // LASSERT: Is it safe to continue here?
2013-04-25 17:27:10 -04:00
Richard Heck
62df59cde4 Add additional LASSERT-type macros for dealing with various kinds
of situations.
2013-04-25 17:22:07 -04:00
Richard Heck
88d9f08806 Add a bunch of comments about the different exceptions. 2013-04-25 17:22:07 -04:00
Vincent van Ravesteijn
6f8a74791b Adjust CMake for Qt5 2013-04-23 21:45:49 +02:00
Vincent van Ravesteijn
cd88c51cce Pass the binary dir to the configure script to find tex2lyx
When using CMake, the binary files are stored in <build-dir>/bin. LyX can't fin tex2lyx with the current code. So, we have to point configure.py to explicitly look in the binary dir.
2013-04-19 20:31:30 +02:00
Georg Baum
db0ba3a3c6 Add class for threadsafe temp file handling
FileName::tempName() is not thread safe, since the QTemporaryFile object is
immediately deleted after creating it. Therefore, another thread could create
the same temporary file in the time span before the user of FileName::tempName()
recreates it. This is not as theoretical as it may look: I observed that
repeated creation and deletion of QTemporaryFile objects always use the same
name.
This problem is solved by the new class TempFile which should be used like
QTemporaryFile itself.
2013-04-14 18:22:42 +02:00
Enrico Forestieri
f6ca8350cd Fix bug #8631: Python detection unfinished 2013-04-14 13:44:59 +02:00
Georg Baum
f4eae12d60 Improve LaTeX format detection
libmime is a bit lacking here.
2013-04-12 22:31:48 +02:00
Georg Baum
0d7702e5e6 Delete temp file after usage 2013-04-01 12:24:24 +02:00
Georg Baum
7cf8b9da78 Implement writing of layouts
This will be needed for layout forward compatibility, and could also be used
for a layout editor. Writing was only implemented for styles, not for complete
layout files (text class). I rarely made use of default values for missing
variables which exist in read(), so the output it a bit verbose (but more safe
against future changes). Also, some things like CopyStyle are never written for
obvious reasons.
2013-03-31 15:33:26 +02:00
Jean-Marc Lasgouttes
3231ab7d70 Putenv requires a char *, for some reason. 2013-03-28 14:03:43 +01:00
Vincent van Ravesteijn
367126bf24 Add a WIN32 equivalent for gettimeofday
This function does not really returns the "time of day", but it will suffice to evaluate elapsed times.
2013-03-24 16:47:07 +01:00
Jean-Marc Lasgouttes
7d698b43a8 More documentation for the poor man's profiler 2013-03-22 11:23:48 +01:00
Jean-Marc Lasgouttes
4663618cfd A poor man's profiler.
The use of this profiler is trivial:

 * #include <support/pmprof.h>

 * in the block one wants to profile, add
   PROFILE_THIS_BLOCK(some_identifier)

 * At the end of the execution, statistics will be sent to standard error.
2013-03-22 10:30:48 +01:00
Richard Heck
ecef54500d Introduce max_length parameter for plaintext() output routines,
so we can write a limited amount when using this for TOC and
tooltip output.

This should solve the problem with slowness that Kornel noticed,
which was caused by our trying to write an entire plaintext
bibliography every time we updated the TOC. We did that because
he had a bibliography inside a branch, and we use plaintext for
creating the tooltip that goes with the branch list.

Other related bugs were fixed along the way. E.g., it turns out
that, if someone had an InsetInclude inside a branch, then we would
have been writing a *plaintext file* for that inset every time we
updated the TOC. I wonder if some of the other reports of slowness
we have received might be due to this kind of issue?
2013-03-08 15:12:58 -05:00
Jean-Marc Lasgouttes
30cbe535c3 Make annoying debug message optional 2013-02-19 13:48:48 +01:00
Julien Rioux
9dd1b7c578 Use the LyX name of encodings instead of the LaTeX names.
- Use the LyX name of encodings instead of the LaTeX names.
  The LyX name must be unique, while the name used by LaTeX
  not necessarily, e.g. different packages might implement
  support for the same encoding.

- Rename koi8 to koi8-r, so that the LyX and LaTeX names match.

- Rename euc-jp-plain to euc-jp-platex, jis-plain to jis-platex
  and shift-jis-plain to shift-jis-platex.

- Add utf8-platex encoding (fixes #8408).

LyX file format incremented to 463.
2013-02-18 23:52:42 +01:00
Uwe Stöhr
ac7d08cb32 environment.cpp: MSVC compile fix
MSVC told me
"environment.cpp(139): error C4716: 'lyx::support::unsetEnv' : must return a value"
2013-02-15 16:28:02 +01:00
Jean-Marc Lasgouttes
e4051a6bd5 Remove unused Mac specific code 2013-02-12 12:29:33 +01:00
Jean-Marc Lasgouttes
81d863fd41 Fix bug #8537: LyX creates the environment variable LC_ALL
The current code is not able to unset an environment variable, only to set it to an empty value. This patch refactors a bit the Message class and uses a new EnvChanger helper class that allows to change temporarily an environment variable and that is able to unset variables if needed.

The patch also adds new functions hasEnv and unsetEnv in environment.cpp.

Open issues:
 * there may be systems where unsetenv is not available and putenv("name=") does not do the right thing;
 * unsetenv may lead to leaks on some platforms.
 * when using unsetenv, we may need to remove strings from the internal map that setEnv uses.
2013-02-12 12:14:06 +01:00
Jean-Marc Lasgouttes
14e01a92a4 Rename Path.h to PathChanger.h (actual name of the class) 2013-02-06 11:51:06 +01:00
Stephan Witt
141fbb6f8c Prepare LyX code to compile and link with Qt5:
* some functionality is in new modules now
  new header locations and library names: QtConcurrent and QtWidgets
* method setResizeMode is renamed to setSectionResizeMode
* deprecated QAbstractItemModel::reset() is dropped now
* platform specific code like QApplication::syncX() is not common anymore
* QString::fromAscii() is dropped now
* some QDesktopServices methods has been moved to QStandardPaths
2013-02-03 19:26:21 +01:00
Pavel Sanda
6479c6fd4a Add comment from Georg.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg176694.html
2013-01-15 21:39:51 -08:00
Kornel Benko
75483b612c Rename misleading function name from_gmtime() to form_asctime_utc() 2013-01-09 13:45:58 +01:00
Kornel Benko
e04523f77b Make change tracking in export to latex be independent of timezone 2013-01-07 15:46:47 +01:00
Kornel Benko
2f33755814 findLyxBinary():
Add program suffix test before trying to determine
and use the extension to search for the lyx-executable
2013-01-04 11:05:12 +01:00
Georg Baum
6c54a081fa Make ASCII test more explicit.
I will need isASCII() in tex2lyx as well.
2012-12-30 20:52:49 +01:00
Vincent van Ravesteijn
1b3871b302 Add custom target to run tests
This target can depend on the individual test projects and this makes sure
that the test projects are build before running the tests.
2012-12-17 22:26:14 +01:00
Vincent van Ravesteijn
92dff25c30 Fix whitespace 2012-12-17 21:38:55 +01:00
Vincent van Ravesteijn
0cd8c03d17 CMake: Put projects into subdirs
This patch puts all projects into subfolders (at least for MSVS). In this
way, there is a better overview (especially if the number of test projects
will be increasing).
2012-12-15 11:02:06 +01:00
Kornel Benko
892e237fe1 Cmake build: Testing
Make this all more the cmake way
2012-12-15 00:15:59 +01:00
Stephan Witt
2bd5b250c4 use correct format string for alert message 2012-12-13 22:23:06 +01:00
Kornel Benko
96dd1363a2 Cmake build: all tests
1.) Rename tests to show their grouping
2.) Adapt the roundtrip tests to new lyx-format
2012-12-13 15:35:04 +01:00
Juergen Spitzmueller
182d13ee6a Do not separate the shortcut from the label string 2012-11-23 18:26:02 +01:00
Pavel Sanda
4375b44dd6 Comment some headers before I ditch them again. 2012-11-18 17:42:32 +01:00
Uwe Stöhr
b53243295a unicode.cpp: make it compile again
the removal of this header in [ea1d9cb3/lyxgit] was too much
2012-11-13 00:27:46 +01:00
Pavel Sanda
8d135a9819 Typeinfo needed in Ubuntu. 2012-11-12 13:06:22 +01:00
Enrico Forestieri
cabf8e86b5 Make it compile again on systems that don't USE_WCHAR_T 2012-11-12 12:11:42 +01:00
Pavel Sanda
ea1d9cb39f Less headers in unicode.
Now lets wait for the scream from people on other compilers.
2012-11-12 03:20:50 +01:00
Pavel Sanda
d692d6f27e Less headers in docstring. 2012-11-12 03:05:30 +01:00
Pavel Sanda
2257040be4 More headers from lstrings. 2012-11-12 03:02:28 +01:00
Pavel Sanda
7cda6b9d57 Header no more needed. 2012-11-12 02:45:29 +01:00
Pavel Sanda
0a9735c5f7 LyX 2.1 will support only Qt>=4.5.
(http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg175737.html)

Now start with simple cases.
2012-11-04 01:22:32 +01:00
Lars Gullik Bjønnes
43f6b1672b Use empty() to check empty and non-empty'ness not size()
Also add FormatList::empty().
2012-10-27 01:25:38 +02:00
Lars Gullik Bjønnes
dd2189656b More idiomatic way of checking if a shared_ptr has an associated managed object 2012-10-25 12:12:49 +02:00
Lars Gullik Bjønnes
54d1cb1880 support/Messages.cpp: add space to not be taken as user defined literal
In C++11 you are not allowed to have non-literal specifiers right
after a string literal.
2012-10-24 23:46:42 +02:00
Kornel Benko
f7680c696d Cmake build:
Added dependencies to target `test'. Now all the needed executables
are recreated prior to running tests if not already existant.
2012-10-21 16:58:45 +02:00
Kornel Benko
ed5dfa9cd7 Cmake tests:
Add tests the cmake-way. Now there is only _one_ target `test'
2012-10-21 12:05:50 +02:00
Stephan Witt
a5317f6594 add QT_QTGUI_LIBRARY to link libraries of check programs to get access to QDesktopServices on Mac OS X 2012-10-16 22:36:23 +02:00
Kornel Benko
63ead2010d Cmake build: support tests
Next try to make it to work on APPLE (and maybe on WIN32)
a.) Create the needed data-dir at configure time
b.) Use different target names for executable and data created with them
2012-10-16 16:35:28 +02:00
Stephan Witt
de6ff1fec2 correct format for unsigned long argument, remoteCloseLink is oneway void 2012-10-14 14:30:47 +02:00
Stephan Witt
318f6b39b7 add missing argument for log message 2012-10-14 14:29:01 +02:00
Stephan Witt
652ed30e92 correct unsigned integer compare operations 2012-10-14 14:28:19 +02:00
Vincent van Ravesteijn
926bb4b41a support/tests: Fix compilation on Windows 2012-10-12 21:24:03 +02:00
Kornel Benko
ce649ca9fd Added check for support tests in cmake build.
New target: checkregfiles
This will create the regfiles and compare with the data in source.
2012-10-05 16:56:29 +02:00
Jean-Marc Lasgouttes
4729b1c35d Fix make check target
A dummy getGuiMessages function was missing. Instead of adding it everywhere, a new file is created that contains all the dummy functions needed by the tests.
2012-10-05 11:55:23 +02:00
Stephan Witt
e0787e839f C++ style to avoid compiler warning for non-NLS implementation of Messages::available 2012-09-25 16:20:43 +02:00
Stephan Witt
273ebbef19 avoid deprecated functions on Mac - use Qt instead 2012-09-23 16:06:56 +02:00
Stephan Witt
f1ab5dfc58 remove unnecessary Carbon include 2012-09-23 16:06:56 +02:00
Stephan Witt
5a9aa21350 correct Messages class implementation for non-NLS 2012-09-23 16:06:56 +02:00
Scott Kostyshak
51c380440b Constify some catches and others 2012-09-17 04:05:34 -04:00
Scott Kostyshak
80c126b092 Typos
Clean up some comments, LFUN documentation, an error message,
and lyx --help output.
2012-09-12 19:38:26 -04:00
Jean-Marc Lasgouttes
7a7b9abf1b Tracking correctly available translations (take 2)
The previous scheme of loading all possible translations and checking
whether the work is a bit too much "brute force" and causes problems
on Mac OS X (documents loaded with the wrong language).

Now there is an helper static method in Messages class that checks
whether a readable .mo file exist for the language. There should be an
API in gettext for doing that, but alas it is not possible.

As a consequence the method Language::translated() has been removed,
along with its cache.
2012-09-08 16:59:19 +02:00
Stephan Witt
4674c3e1c5 Patch from Benjamin Piwowar - see ticket #8185:
In order to interact with native osx applications, AppleScript support is a plus.
Here is a patch that makes LyX respond to a simple command (run) and that allows to communicate with LyX as with the LyX client.
Example of use:
	tell application "LyX" to run "server-get-filename" with argument ""'
returns
	message:/Users/bpiwowar/newfile1.lyx, code:0
with a message and the error code
2012-08-19 22:27:20 +02:00
Juergen Spitzmueller
bfec6d2552 typo 2012-08-17 17:24:09 +02:00
Jean-Marc Lasgouttes
2e1c618824 Typo introduced in commit 16fd47ad. 2012-07-16 00:30:28 +02:00
Pavel Sanda
7b1b9823ff Add comment in lstrings.h 2012-07-15 23:25:58 +02:00
Jean-Marc Lasgouttes
16fd47ad8f Fix bug #7741: incorrect locale when starting R from LyX?
The goal here is to get rid of the old code that modified variables
LANGUAGE and LC_ALL, therefore creating the problems mentionned
in the ticket.

In the new system, there is no explicit "GUI" message handler, that
needs to be reset at each language change. Instead, getGuiMessages
calls getMessages with the correct parameter. This allows to simplify
greatly the code and to remove a lot of old cruft.
2012-07-15 22:22:10 +02:00
Juergen Spitzmueller
0062538a54 Add some more characters that need to be escaped in labels etc. 2012-06-30 01:24:40 +02:00
Jean-Marc Lasgouttes
92e3cc456f Make debug messages more readable
Shorten the file names output by LYXERR so that they start right after /src/.
2012-06-11 15:03:29 +02:00
Richard Heck
9e678569ad Typo. 2012-06-06 18:20:02 -04:00
Jean-Marc Lasgouttes
992eae2524 Typos 2012-06-05 12:22:13 +02:00
Richard Heck
ead697d4b6 Deal with memory issue reported some time ago in connection with DocumentClass
objects. The problem that led to the leak is that these objects can be held in
memory long after the Buffer that created them is gone, mostly due to their
use in the CutStack. So they were previously held in a storage facility, the
DocumentClassBundle. Unfortunately, they were now being created too often,
especially by cloning. It's not really a leak, because they're accessible, but
we weren't ever destroying them.

This new approach uses a shared_ptr instead.

Thanks to Vincent for pointing out const_pointer_cast.
2012-05-31 12:34:29 -04:00
Pavel Sanda
4ce24954aa Strip gecos on Unix systems on user name only.
Patch from Scott Kostyshak.
2012-05-06 13:36:54 +02:00
Vincent van Ravesteijn
5e4e4b674c Always require a mask to get a temporary filename
If no mask is supplied or the mask is attached to the end of the filename, we end up with unexpected names like
  <system-temp-dir>\lyx_tmpdir.qHp780.vcr780_<mask>
instead of a temporary file in the lyx temporary directory like
  <system-temp-dir>\lyx_tmpdir.qHp780\<mask>.vcr780.
2012-05-03 16:14:37 +02:00
Georg Baum
a2e8cb758b Translations for listings insets
The listings inset and include inset of type listings use two english terms
that are not localized yet: "Listing" for the caption and "Listings" for the
list of listings (not supported natively by LyX yet). The existing layout
translation mechanism has been extended to translate these terms as well:

1) Support [[stuff]] context in lib/layouttranslations
2) Support BabelPreamble and LangPreamble in InsetLayout
3) Use a InsetLayout for InsetInclude of type listings
4) Define BabelPreamble and LangPreamble in the layouts for InsetInclude
   and InsetListings
2012-04-10 20:21:01 +02:00
Lars Gullik Bjønnes
c7bb190fd3 Setup .gitignore for generated files
Setting up .gitignore or .git/info/excludes is something that should
be done. Not doing it makes it a lot harder to see actual new files
that should be added.

Signed-off-by: Lars Gullik Bjønnes <larsbj@gullik.org>
2012-03-22 02:16:12 +01:00
Stephan Witt
8be18455fd #7855 subversion 1.7.x support: use svn info to check if a file is under version control; this works for 1.6.x too; to avoid excessive forks of child processes check for the existence of a .svn directory in current dir and parent directories
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40911 a592a061-630c-0410-9148-cb99ea01b6c8
2012-03-11 11:12:12 +00:00
Jürgen Spitzmüller
44ed83dd86 Work around qt bug that prevents the glyph LATIN CAPITAL LETTER SHARP S from being pasted (bug #8057).
Candidate for branch.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40829 a592a061-630c-0410-9148-cb99ea01b6c8
2012-03-02 09:06:09 +00:00
Georg Baum
de6e4a2937 Make guessFormatFromContents() a bit more private, since it is not supposed
to be used in new code.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40790 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-21 20:46:37 +00:00
Georg Baum
26e5f1a8ec Use libmagic for file format detection if available.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40789 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-21 20:29:44 +00:00
Enrico Forestieri
3018614da1 On *nix, a proper forward definition of docstring is necessary for
overriding a pure virtual method (part of bug #8032).
I wonder why it was working on Windows and why it works for QString.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40783 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-19 21:44:47 +00:00
Enrico Forestieri
1eb41a88f2 Fix bug #8032 (timeout when using the Sweave module)
After the timeout elapses, the user is notified that a command is taking
a long time to complete and is given the choice to stop it. If the user
decides to let the command run, the timeout is increased, otherwise the
command is killed. One is prompted a first time after 3 mins, a second
time after 9 mins, a third time after 27 mins, and so on, i.e., the n-th
prompt occurs after 3^n minutes.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40775 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-18 14:16:25 +00:00
Georg Baum
9fe72c3501 Move readBB_from_PSFile() out of support (no code change),
since it soon will need to use the Formats class.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40757 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-15 20:50:52 +00:00
Georg Baum
29627f1680 Fix converters with input redirection, such as the second htlatex one.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40647 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-22 12:35:07 +00:00
Georg Baum
a6f843aacb get rid of dead code and silly function
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40605 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-12 19:48:08 +00:00
Georg Baum
3dba00246c Quick fix bug #4267.
A real fix would be to ditch the home made file format detection and use libmagic.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40587 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-07 19:18:38 +00:00
Peter Kümmel
56cbb9eb11 cleanup before unsubscribing
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40517 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-18 12:03:42 +00:00
Peter Kümmel
c2ff9de084 timeout_min is platform independent
#7928

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40402 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-06 20:52:19 +00:00
Stephan Witt
42e7089a61 correct capitalization of AppKit framework - for case sensitive Mac OS X filesystems
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40316 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-29 20:41:08 +00:00
Peter Kümmel
8abb5429b9 prepare switch to switch-case in when parsing tex files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40232 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-20 19:44:08 +00:00
Jean-Marc Lasgouttes
d7320ad89b Fix shortenng of file names in MakeDisplayPath: it is not a good idea to slice an utf8 string at arbitrary offsets, we have to work on a docstring instead. We need unfortunately to switch back and orth between utf8 and docstring.
This is a candidate for branch too, although the bug is minor.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40149 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-06 22:36:14 +00:00
Georg Baum
0dee3eff18 Fix bug #4213: Change tracking support for tex2lyx.
Of course this will only work if output_changes was true when creating the
.tex file.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40139 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-06 17:03:59 +00:00
Georg Baum
07fc1c3abc Replace a half-baked attempt to remove \lyxdot from the directory part of
file names with a proper one: Only replace dots in the base name, and only
request the lyxdot feature if it is needed. This is a partial fix of bug #7650.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40115 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-31 20:27:21 +00:00
Enrico Forestieri
c58f009c9b Properly account for output redirection with QProcess.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40110 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-31 02:02:27 +00:00
Enrico Forestieri
ef4f08daef Compile fix for *nix...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40053 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-28 14:58:27 +00:00
Enrico Forestieri
775466100f Detect the correct version of python at runtime and store the result
for later calls. The check is only performed on the major version
number, such as to avoid using python 3.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40049 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-28 11:51:48 +00:00
Enrico Forestieri
8a4b25875a Thinking about it, it is better to always convert to docstrings all
utf8 strings, and not only if they contain encoding changes. This is
because if the output encoding was previously changed and an utf8
string is inserted in the stream, the encoding changes cannot occur.
This was not a problem until now because normal strings could not be
inserted in a odocstream, as them would have been exchanged with encoding
changes. Indeed, the SetEnc struct has only a std::string member and
outputting a std::string would be interpreted by the compiler the same
as inserting setEncoding(std::string). However, a std::string can be
inserted in an otexstream and it is better to account for this.
I wonder whether trying "os << std::string", where os is an odocstream,
should produce an error instead of actually trying to change the stream
output encoding, but this has not been a problem until now...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39944 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-23 14:24:17 +00:00
Enrico Forestieri
7fec736162 As stated in r39928, conversion on the fly only works for docstrings
and not for utf8 ones. But the simple solution is to convert to a
docstring before outputting to the underlying docstream.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39930 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-23 03:04:09 +00:00
Enrico Forestieri
bbca759363 Restore r39921, as a simple solution exists.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39929 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-23 03:02:02 +00:00
Enrico Forestieri
936ae8020f Revert r39921. This would not work because proper facets for converting
on the fly are only available for ucs4 encoded strings and not for utf8
ones. So, it does only work with docstrings.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39928 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-23 02:33:38 +00:00
Enrico Forestieri
5a69c96ccd Fix typo.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39922 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-22 18:29:11 +00:00
Enrico Forestieri
0cac034d10 Also account for possible encoding changes embedded in utf8 strings
other than docstrings.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39921 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-22 18:27:56 +00:00
Enrico Forestieri
d703d90574 Fix bug #7835 (Relative paths are not supported by the TEXINPUTS prefix)
This restores \input@path handling, which turns out to be necessary, as
the TEXINPUTS mechanism is not used with relative paths. It turns out
that both methods must be used, because \input@path does not work in all
cases (most notably with tikz).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39918 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-22 15:10:43 +00:00
Enrico Forestieri
37ba87cfb1 Avoid unnecessary spaces with the Windows shell.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39824 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-09 21:53:35 +00:00
Enrico Forestieri
6c85f8338f No need for the more expensive to_utf8() here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39821 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-08 22:21:01 +00:00
Enrico Forestieri
33c5f6d628 Fix bug #7800 (Lyx cannot create dvi with Russian)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39820 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-08 22:13:38 +00:00
Enrico Forestieri
3bcfee0627 Make sure to check command for emptiness, instead of prefix+command.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39762 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-25 20:49:53 +00:00
Enrico Forestieri
9c365e841e Apparently, the env program does not strip quotes around the values of the
environment variables. So, replace single quotes by double ones, such that
the QProcess parser will strip them, and strip them by ourselves in ForkedCall.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39761 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-25 20:33:06 +00:00
Enrico Forestieri
a749b73d95 The second argument of Systemcall::startscript is supposed to be encoded
in the filesystem encoding, i.e., the local 8 bit encoding.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39760 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-25 16:38:51 +00:00
Enrico Forestieri
b53445e6cd Adjust the simple parser in ForkedCalls.cpp to also account for quotes
don't delimiting an entire word and adapt the quoting such that it works
for Systemcall, ForkedCall, and also for the case when QProcess in not used.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39759 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-25 16:32:31 +00:00