Commit Graph

33 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
601244ba92 Use HAVE_LONG_LONG_INT instead of LYX_USE_LONG_LONG
It seems that the extra complication hurts more than it helps (for
example with OpenBSD).

Some adaptation will be needed for cmake.
2019-03-21 14:18:17 +01:00
Christian Ridderström
e30f3d76d2 Bulk cleanup/fix incorrect annotation at the end of namespaces.
This commit does a bulk fix of incorrect annotations (comments) at the
end of namespaces.

The commit was generated by initially running clang-format, and then
from the diff of the result extracting the hunks corresponding to
fixes of namespace comments. The changes being applied and all the
results have been manually reviewed. The source code successfully
builds on macOS.

Further details on the steps below, in case they're of interest to
someone else in the future.

1. Checkout a fresh and up to date version of src/

    git pull && git checkout -- src && git status src

2. Ensure there's a suitable .clang-format in place, i.e. with options
   to fix the comment at the end of namespaces, including:

    FixNamespaceComments:                           true
    SpacesBeforeTrailingComments:                   1

and that clang-format is >= 5.0.0, by doing e.g.:

    clang-format -dump-config | grep Comments:
    clang-format --version

3. Apply clang-format to the source:

    clang-format -i $(find src -name "*.cpp" -or -name "*.h")

4. Create and filter out hunks related to fixing the namespace

    git diff -U0 src > tmp.patch
    grepdiff '^} // namespace' --output-matching=hunk tmp.patch  > fix_namespace.patch

5. Filter out hunks corresponding to simple fixes into to a separate patch:

    pcregrep -M -e '^diff[^\n]+\nindex[^\n]+\n--- [^\n]+\n\+\+\+ [^\n]+\n'  \
        -e '^@@ -[0-9]+ \+[0-9]+ @@[^\n]*\n-\}[^\n]*\n\+\}[^\n]*\n'         \
        fix_namespace.patch > fix_namespace_simple.patch

6. Manually review the simple patch and then apply it, after first
   restoring the source.

    git checkout -- src
    patch -p1 < fix_namespace_simple.path

7. Manually review the (simple) changes and then stage the changes

    git diff src
    git add src

8. Again apply clang-format and filter out hunks related to any
   remaining fixes to the namespace, this time filter with more
   context. There will be fewer hunks as all the simple cases have
   already been handled:

    clang-format -i $(find src -name "*.cpp" -or -name "*.h")
    git diff src > tmp.patch
    grepdiff '^} // namespace' --output-matching=hunk tmp.patch  > fix_namespace2.patch

9. Manually review/edit the resulting patch file to remove hunks for files
   which need to be dealt with manually, noting the file names and
   line numbers. Then restore files to as before applying clang-format
   and apply the patch:

    git checkout src
    patch -p1 < fix_namespace2.patch

10. Manually fix the files noted in the previous step. Stage files,
    review changes and commit.
2017-07-23 13:11:54 +02:00
Georg Baum
d5f2bad461 Mingw-w64 build fixes for long long
On mingw-w64, long long (64bit wide) is larger than long (32bit wide).
Therefore we need some more specializations for string, docstring,
otextstream and << overloaded ostream functions. The configuration code
is by me, the source code changes by Shankar Giri Venkita Giri (bug 10053).
2016-05-29 17:55:43 -04: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
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
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
Pavel Sanda
4375b44dd6 Comment some headers before I ditch them again. 2012-11-18 17:42:32 +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
d692d6f27e Less headers in docstring. 2012-11-12 03:05:30 +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
Enrico Forestieri
4457cd44e8 Compile fix for those platforms using the locale facets implemented
in docstring.cpp (this was an oversight in r36748).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36767 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-07 22:53:07 +00:00
Pavel Sanda
c420c81ec2 Replay r36748
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36757 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-07 00:13:19 +00:00
Pavel Sanda
c68d754a74 Revert commits from 36745
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36749 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-07 00:05:40 +00:00
Stephan Witt
430d03811e #7026 substitute isDigit() by isDigitASCII() and ditch isDigit(); introduce isNumber() and use it in spell checker; change isdigit() to isDigitASCII() otherwise
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36748 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-06 22:35:15 +00:00
Jürgen Spitzmüller
59d384f02b * Thesaurus.cpp:
* docstring.{cpp,h}:
	- move conversion functions to_iconv_encoding and from_iconv_encoding
	  from Thesaurus to docstring.

* HunspellChecker.cpp:
	- use correct encoding for string conversion.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33407 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-10 10:24:10 +00:00
André Pönitz
5dd5d98473 make _GLIBCXX_DEBUG_PEDASSERT happy
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25295 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-17 16:33:19 +00:00
André Pönitz
6a56be232d save a few allocations in from_ascii.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25281 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-16 18:27:11 +00:00
André Pönitz
2e968d0661 next try
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25000 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-29 17:57:57 +00:00
Jean-Marc Lasgouttes
9b4a26a252 rename assert.h to lassert.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24559 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-30 08:26:40 +00:00
André Pönitz
7f461f4392 infrastructure for 'graceful asserts'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24216 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-10 21:49:34 +00:00
José Matox
45d42022f7 Add headers necessary to compile with g++ 4.3 (I am not sure about the typeinfo, the others are clearly correct).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23862 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-21 11:26:20 +00:00
Enrico Forestieri
c5ee5edd41 Another compile fix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22111 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 21:09:51 +00:00
Abdelrazak Younes
7c392af6ea getting rid of superfluous lyx::support:: statements.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22106 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 19:57:42 +00:00
Abdelrazak Younes
9abb7db468 getting rid of superfluous std:: statements.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22104 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 19:28:07 +00:00
André Pönitz
9d0ea8aeff Move debug.{cpp,h}, Messages.{cpp,h} and gettext.{cpp,h} to support/.
Now support/* should have no dependencies on src/* anymore.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21851 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-29 07:04:28 +00:00
André Pönitz
a5263e0f92 introduce a header to forward declare std::string.
hope there are only conforming implementaions out there ;-}


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21312 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-31 22:40:34 +00:00
Abdelrazak Younes
036a507c6d Move to_local8bit_failure class to docstring.cpp and restore std::bad_cast inheritance.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21307 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-31 08:05:37 +00:00
Enrico Forestieri
b81c90adee Use home made code for the bool facet.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19250 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-31 13:13:23 +00:00
Enrico Forestieri
128bb9ed49 Add missing facets for extraction from an idocstream on platforms
lacking support for wchar_t. This solves bug 4076.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19233 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-30 13:15:27 +00:00
Jürgen Spitzmüller
7562340249 fix unicode decomposition (bugs 3313 and 3498):
* src/support/docstring.{cpp,h}:
	- rename normalize_kc to normalize_c and use normalization form C (instead of KC)

* src/callback.cpp:
* src/Trans.cpp:
* src/frontends/qt4/GuiClipboard.cpp:
* src/frontends/qt4/GuiSelection.cpp:
* lib/lyx2lyx/lyx_1_5.py:
	- use normalization forms C and D instead of KC and KD.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18991 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-05 14:45:00 +00:00
José Matox
5cbe5cf5ad FreeBSD libc uses UCS4, but libstdc++ has no proper wchar_t support compiled in (Jean-Marc)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18913 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-27 18:02:54 +00:00
Bo Peng
f212b48335 Rename .C ==> .cpp for files in src/support, part two
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18025 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-26 05:13:44 +00:00