Commit Graph

18 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
63a4e82874 Add support for enchant 2.x
As of enchant 2.x, it is required to create a Broker instance instead
of relying on a static one provided by the library.

Add autoconf and cmake (courtesy of Kornel) tests that check whether
one can indeed instantiate a Broker object, and act on the result in a
new broker() helper function.

Fixes bug #10986.
2018-01-30 12:11:22 +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
Richard Heck
75bfed5507 Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
Stephan Witt
f7418758ab use enchant exception message accessor 2014-11-18 22:06:27 +01:00
Stephan Witt
5c90303c0a Add diagnostic messages for enchant spell checker dictionary requests 2014-11-18 08:48:41 +01:00
Stephan Witt
b3b6fc643d #8849 catch exception in enchant speller backend and avoid multiple speller lookups for missing dictionaries 2014-05-18 10:43:32 +02:00
Lars Gullik Bjønnes
6b2232a29c src/*.cpp: reformatting to increase consistency 2012-10-28 17:42:07 +01:00
Stephan Witt
20f61c7eb7 #7884 improved return code of EnchantChecker::check() when dictionaries are missing
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40598 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-11 17:03:49 +00:00
Stephan Witt
5a80aa6fcf #7884 add check for missing dictionaries when spell check starts... forgot to implement numDictionaries for Enchant in r40568
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40572 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-05 13:19:04 +00:00
Stephan Witt
7dda20bc9d add forgotten implementation of "remove from personal dictionary" for enchant spell checker backend
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38360 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-13 10:55:51 +00:00
Stephan Witt
dec437fbac add cache of spell checker results to speed up native speller engine on macosx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35362 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-14 05:24:04 +00:00
Jürgen Spitzmüller
6bcf9b6fea * EnchantChecker.cpp:
- do not pass empty words to the checker (bug #6870)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35224 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-29 08:49:25 +00:00
Jean-Marc Lasgouttes
e4f2484cb5 Implement LFUN_SPELLING_REMOVE (patch from switt)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35055 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-05 20:10:40 +00:00
Jean-Marc Lasgouttes
6f82f85228 style
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34744 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-02 12:38:39 +00:00
Jürgen Spitzmüller
5c59e8c7cb * Spellchecker dialog:
- mark languages that can be spell checked.
* Thesaurus dialog:
	- mark languages that have a thesaurus dictionary.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33405 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-10 08:10:31 +00:00
Jürgen Spitzmüller
fd75ef23ae * EnchantChecker.cpp: don't crash if dictionary is not found.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33383 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-09 14:14:38 +00:00
Jürgen Spitzmüller
707935ab23 * store the full Language in WordLangTuple.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33378 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-09 11:26:49 +00:00
Jürgen Spitzmüller
7746747506 * add support for the enchant spell checker (bug 6226).
SCons might be broken.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33157 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-22 15:26:38 +00:00