Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package nuspell for openSUSE:Factory checked in at 2024-07-26 16:15:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nuspell (Old) and /work/SRC/openSUSE:Factory/.nuspell.new.1882 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nuspell" Fri Jul 26 16:15:08 2024 rev:10 rq:1189319 version:5.1.6 Changes: -------- --- /work/SRC/openSUSE:Factory/nuspell/nuspell.changes 2023-11-23 21:38:45.291307055 +0100 +++ /work/SRC/openSUSE:Factory/.nuspell.new.1882/nuspell.changes 2024-07-26 16:15:22.981422361 +0200 @@ -1,0 +2,25 @@ +Wed Jul 24 04:32:43 UTC 2024 - Atri Bhattacharya <badshah...@gmail.com> + +- Disable man file generation to avoid BuildRequires on pandoc + (nuspell is a Ring1 package). + +------------------------------------------------------------------- +Wed Jul 17 04:38:53 UTC 2024 - Atri Bhattacharya <badshah...@gmail.com> + +- Update to version 5.1.6: + * Be more explicit about Pandoc dependency, do not quietly + continue building if it is not found. + * Fix compatibility with older versions of Pandoc. +- Changes from version 5.1.5: + * Added man-page for the CLI tool. Pandoc is again dependency + for building. + * Fix edge case when parsing LONG flags in the .aff file. +- New BuildRequires: pandoc to build man file. + +------------------------------------------------------------------- +Wed Mar 20 12:02:20 UTC 2024 - Richard Biener <rguent...@suse.com> + +- Avoid relying on macro expansion in BuildRequires as that breaks + Substitute. + +------------------------------------------------------------------- Old: ---- nuspell-5.1.4.tar.gz New: ---- nuspell-5.1.6.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nuspell.spec ++++++ --- /var/tmp/diff_new_pack.LjaY9s/_old 2024-07-26 16:15:23.441440892 +0200 +++ /var/tmp/diff_new_pack.LjaY9s/_new 2024-07-26 16:15:23.441440892 +0200 @@ -1,7 +1,7 @@ # # spec file for package nuspell # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,13 +20,14 @@ %define libname libnuspell # Due to std::filesystem and std::charconv used by code, at least gcc-c++ >= 10 and std=c++17 is required %if 0%{?suse_version} < 1550 -%define gcc_ver 10 %bcond_with tests %else %bcond_without tests %endif +# Ring1 package, avoid pandoc requirement by disabling mnan file generation +%bcond_with man Name: nuspell -Version: 5.1.4 +Version: 5.1.6 Release: 0 Summary: A spell checker library and command-line tool License: LGPL-3.0-or-later @@ -36,12 +37,19 @@ BuildRequires: cmake BuildRequires: doxygen BuildRequires: fdupes -BuildRequires: gcc%{?gcc_ver}-c++ +%if 0%{?suse_version} < 1550 +BuildRequires: gcc10-c++ +%else +BuildRequires: gcc-c++ +%endif BuildRequires: graphviz BuildRequires: libicu-devel BuildRequires: pkgconfig BuildRequires: rubygem(%{rb_default_ruby_abi}:ronn) Requires: hunspell +%if %{with man} +BuildRequires: pandoc +%endif %if %{with tests} BuildRequires: pkgconfig(catch2) >= 3.3.2 %endif @@ -102,11 +110,13 @@ %build %cmake -DBUILD_SHARED_LIBS:BOOL=ON \ %if 0%{?suse_version} < 1550 - -DCMAKE_CXX_COMPILER:STRING=g++-%{?gcc_ver} \ + -DCMAKE_CXX_COMPILER:STRING=g++-10 \ -DCMAKE_CXX_FLAGS:STRING="%{optflags} -std=c++17" \ %endif -DBUILD_TESTING:BOOL=%{?with_tests:ON}%{!?with_tests:OFF} \ - -DCMAKE_SKIP_RPATH:BOOL=OFF + -DCMAKE_SKIP_RPATH:BOOL=OFF \ + -DBUILD_DOCS=%{?with_man:ON}%{!?with_man:OFF} \ + %{nil} %cmake_build cd ../ @@ -132,11 +142,16 @@ %doc README.md CHANGELOG.md AUTHORS %license COPYING.LESSER COPYING %{_bindir}/nuspell +%if %{with man} +%{_mandir}/man1/nuspell.1%{?ext_man} +%endif %files -n %{libname}%{sonum} %license COPYING.LESSER COPYING %{_libdir}/%{libname}.so.* +%if 0%{?suse_version} < 1650 && 0%{?sle_version} <= 150500 %exclude %{_datadir}/doc/nuspell/README.md +%endif %files devel %license COPYING.LESSER COPYING ++++++ nuspell-5.1.4.tar.gz -> nuspell-5.1.6.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/.github/workflows/cmake.yml new/nuspell-5.1.6/.github/workflows/cmake.yml --- old/nuspell-5.1.4/.github/workflows/cmake.yml 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/.github/workflows/cmake.yml 2024-07-04 13:45:35.000000000 +0200 @@ -21,10 +21,10 @@ env: CXXFLAGS: ${{ matrix.cxxflags }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install dependencies - run: sudo apt-get update && sudo apt-get install catch2 + run: sudo apt-get update && sudo apt-get install catch2 pandoc - name: Configure CMake # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. @@ -45,7 +45,7 @@ runs-on: windows-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Bring runner env vars to workflows shell: bash @@ -53,13 +53,16 @@ echo "local_app_data=$LOCALAPPDATA" >> $GITHUB_ENV echo "vcpkg_root=$VCPKG_INSTALLATION_ROOT" >> $GITHUB_ENV - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: # use backslashes in path here for Windows. path: ${{ env.local_app_data }}\vcpkg\archives key: windows-vcpkg-cache-${{ hashFiles('vcpkg.json') }} restore-keys: windows-vcpkg-cache- + - name: Install pandoc + run: choco install pandoc + - name: Configure CMake run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} env: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/CHANGELOG.md new/nuspell-5.1.6/CHANGELOG.md --- old/nuspell-5.1.4/CHANGELOG.md 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/CHANGELOG.md 2024-07-04 13:45:35.000000000 +0200 @@ -6,6 +6,23 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [5.1.6] - 2024-07-04 +### Changed +- Be more explicit about Pandoc dependency, do not quietly continue building if + it is not found. Otherwise, packagers will forget to add it as dependency. + Alternatively, one can disable building the docs and the dependency with the + CMake option BUILD_DOCS=OFF. + +### Fix +- Fix compatibility with older versions of Pandoc. + +## [5.1.5] - 2024-07-03 +### Added +- Added man-page for the CLI tool. Pandoc is again dependency for building. + +### Fixed +- Fix edge case when parsing LONG flags in the .aff file. + ## [5.1.4] - 2023-11-08 ### Changed - Raise the minimum required version of dependency Catch2 to v3.1.1. See #133. @@ -271,7 +288,8 @@ - Spelling error detection (checking) is closely matching Hunspell - Support for spelling error correction (suggestions) -[Unreleased]: https://github.com/nuspell/nuspell/compare/v5.1.4...HEAD +[5.1.6]: https://github.com/nuspell/nuspell/compare/v5.1.5...v5.1.6 +[5.1.5]: https://github.com/nuspell/nuspell/compare/v5.1.4...v5.1.5 [5.1.4]: https://github.com/nuspell/nuspell/compare/v5.1.3...v5.1.4 [5.1.3]: https://github.com/nuspell/nuspell/compare/v5.1.2...v5.1.3 [5.1.2]: https://github.com/nuspell/nuspell/compare/v5.1.1...v5.1.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/CMakeLists.txt new/nuspell-5.1.6/CMakeLists.txt --- old/nuspell-5.1.4/CMakeLists.txt 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/CMakeLists.txt 2024-07-04 13:45:35.000000000 +0200 @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.12) project(nuspell - VERSION 5.1.4 + VERSION 5.1.6 DESCRIPTION "Nuspell spellchecking library" HOMEPAGE_URL https://nuspell.github.io/ LANGUAGES CXX) @@ -8,6 +8,7 @@ option(BUILD_SHARED_LIBS "Build as shared library" ON) option(BUILD_TESTING "Build the testing tree." ON) option(BUILD_TOOLS "Build the CLI tool." ON) +option(BUILD_DOCS "Build the docs." ON) include(GNUInstallDirs) include(CMakePackageConfigHelpers) @@ -33,6 +34,9 @@ # no need to test, build docs or install return() endif() +if (BUILD_DOCS) + add_subdirectory(docs) +endif() macro(fetch_catch2) include(FetchContent) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/README.md new/nuspell-5.1.6/README.md --- old/nuspell-5.1.4/README.md 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/README.md 2024-07-04 13:45:35.000000000 +0200 @@ -33,6 +33,7 @@ - Getopt (It is needed only on Windows + MSVC and only when the CLI tool or the tests are built. It is available in vcpkg. Other platforms provide it out of the box.) + - Pandoc (optional, needed for building the man-page) Run-time (and build-time) dependencies: @@ -49,7 +50,7 @@ For Ubuntu and Debian: ```bash -sudo apt install git cmake libicu-dev +sudo apt install g++ cmake libicu-dev catch2 pandoc ``` Then run the following commands inside the Nuspell directory: @@ -83,7 +84,7 @@ <!-- end list --> ```bash -brew install cmake icu4c +brew install cmake icu4c catch2 pandoc export ICU_ROOT=$(brew --prefix icu4c) ``` @@ -104,7 +105,8 @@ Visual Studio Build Tools. 2. Install Git for Windows and Cmake. 3. Install Vcpkg in some folder, e.g. in `c:\vcpkg`. -4. Run the commands bellow. Vcpkg will work in manifest mode and it will +4. Install Pandoc. You can manually install or use `choco install pandoc`. +5. Run the commands bellow. Vcpkg will work in manifest mode and it will automatically install the dependencies. <!-- end list --> @@ -122,7 +124,7 @@ ```bash pacman -S base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-icu \ - mingw-w64-x86_64-cmake + mingw-w64-x86_64-cmake mingw-w64-x86_64-catch ``` Then from inside the Nuspell folder run: @@ -130,7 +132,7 @@ ```bash mkdir build cd build -cmake .. -G "Unix Makefiles" +cmake .. -G "Unix Makefiles" -DBUILD_DOCS=OFF make make install ``` @@ -146,7 +148,7 @@ Install the following required packages ```bash -pkg cmake icu catch +pkg cmake icu catch2 pandoc ``` Then run the standard cmake and make as on Linux. See above. @@ -162,7 +164,7 @@ nuspell -d en_US text.txt -For more details run `nuspell --help`. +For more details run see the [man-page](docs/nuspell.1.md). <!-- old hunspell v1 stuff The src/tools directory contains ten executables after compiling. @@ -300,5 +302,3 @@ The result can be viewed by opening `doxygen/html/index.html` in a web browser. - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/docs/CMakeLists.txt new/nuspell-5.1.6/docs/CMakeLists.txt --- old/nuspell-5.1.4/docs/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/nuspell-5.1.6/docs/CMakeLists.txt 2024-07-04 13:45:35.000000000 +0200 @@ -0,0 +1,20 @@ +find_program(PANDOC_EXECUTABLE pandoc) + +if (NOT PANDOC_EXECUTABLE) + message(FATAL_ERROR "Pandoc not found, can not build man-pages. " + "Either install Pandoc or disable builing the docs with " + "cmake -DBUILD_DOCS=OFF") +endif() + +if (BUILD_TOOLS) + add_custom_command(OUTPUT nuspell.1 + COMMAND + ${PANDOC_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/nuspell.1.md + --from=markdown --to=man --standalone --output=nuspell.1 + "--metadata=footer:Nuspell ${PROJECT_VERSION}" + MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/nuspell.1.md + COMMENT "Building manpage nuspell.1") + add_custom_target(nuspell-man-pages ALL DEPENDS nuspell.1) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/nuspell.1 + DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) +endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/docs/nuspell.1.md new/nuspell-5.1.6/docs/nuspell.1.md --- old/nuspell-5.1.4/docs/nuspell.1.md 1970-01-01 01:00:00.000000000 +0100 +++ new/nuspell-5.1.6/docs/nuspell.1.md 2024-07-04 13:45:35.000000000 +0200 @@ -0,0 +1,96 @@ +--- +title: NUSPELL +section: 1 +header: User Commands +footer: Nuspell vX.Y # override this on the command line in CMake +author: Dimitrij Mijoski +date: 2024-07-03 # This date should be changed when signifcant changes in this + # document are made. It is not release date or build date. +--- + +# NAME + +nuspell - Command-line tool for spellchecking. + +# SYNOPSIS + +**nuspell** \[**-d** _dict_NAME_\] \[_OPTION_\]... \[_FILE_\]... +**nuspell** **-D|\--help|\--version** + +# DESCRIPTION + +Check spelling of each _FILE_. If no _FILE_ is specified, check standard input. +The text in the input is first segmented into words with an algorithm +that recognizes punctuation and then each word is checked. + +# OPTIONS + +__-d, \--dictionary=__*di_CT* +: Use _di_CT_ dictionary. Only one is supported. A dictionary consists of two + files with extensions .dic and .aff. The **-d** option accepts either + dictionary name without filename extension, usually a language tag, or a + path (with slash) to the .aff file including the filename extension. When + just a name is given, it will be searched among the list of dictionaries in + the default directories (see option **-D**). When a path to .aff is given, + only the dictionary under the path is considered. When **-d** is not present, + the CLI tools tries to load a dictionary using the language tag from the + active locale. + +**-D, \--list-dictionaries** +: Print search paths and available dictionaries and exit. + +__\--encoding=__*ENC* +: Set both input and output encoding. + +__\--input-encoding=__*ENC* +: Set input encoding, default is active locale. + +__\--output-encoding=__*ENC* +: Set output encoding, default is active locale. + +**\--help** +: Print short help. + +**\--version** +: Print version number. + +# EXIT STATUS + +Returns error if the argument syntax is invalid, if the dictionary can not be +loaded or if some input file can not be opened. Otherwise, spell checking has +occurred and returns success. + +# ENVIRONMENT + +**DICTIONARY** +: Specify dictionary, same as option **-d**. + +**DICPATH** +: Path to additional directory to search for dictionaries. + +# CAVEATS + +The CLI tool is primarily intended to be used interactively by human. The input +is plain text and the output is mostly plain text with some symbols and words +that are meant to be read by human and not by machine. The format of the output +is not strictly defined and may change, thus it is not machine-readable. Other +programs should use the C++ library directly which has stable API. + +# EXAMPLES + + nuspell -d en_US file.txt + nuspell -d ../../subdir/di_CT.aff + +# REPORTING BUGS + +Bug reports: <https://github.com/nuspell/nuspell/issues> + +# COPYRIGHT + +Copyright 2016-2024 Nuspell authors. + +# SEE ALSO + +Full documentation: <https://github.com/nuspell/nuspell/wiki> + +Home page: <http://nuspell.github.io/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/src/nuspell/aff_data.cxx new/nuspell-5.1.6/src/nuspell/aff_data.cxx --- old/nuspell-5.1.4/src/nuspell/aff_data.cxx 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/src/nuspell/aff_data.cxx 2024-07-04 13:45:35.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright 2016-2023 Dimitrij Mijoski +/* Copyright 2016-2024 Dimitrij Mijoski * * This file is part of Nuspell. * @@ -113,8 +113,8 @@ auto i = s.begin(); auto e = s.end(); for (; i != e; i += 2) { - auto c1 = *i; - auto c2 = *(i + 1); + unsigned char c1 = *i; + unsigned char c2 = *(i + 1); out.push_back((c1 << 8) | c2); } break; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/src/nuspell/aff_data.hxx new/nuspell-5.1.6/src/nuspell/aff_data.hxx --- old/nuspell-5.1.4/src/nuspell/aff_data.hxx 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/src/nuspell/aff_data.hxx 2024-07-04 13:45:35.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright 2016-2023 Dimitrij Mijoski +/* Copyright 2016-2024 Dimitrij Mijoski * * This file is part of Nuspell. * @@ -38,7 +38,10 @@ Encoding() = default; explicit Encoding(const std::string& e) : name(e) { normalize_name(); } - explicit Encoding(std::string&& e) : name(move(e)) { normalize_name(); } + explicit Encoding(std::string&& e) : name(std::move(e)) + { + normalize_name(); + } explicit Encoding(const char* e) : name(e) { normalize_name(); } auto& operator=(const std::string& e) { @@ -48,7 +51,7 @@ } auto& operator=(std::string&& e) { - name = move(e); + name = std::move(e); normalize_name(); return *this; } @@ -86,78 +89,78 @@ using Word_List = Hash_Multimap<std::string, Flag_Set>; struct Aff_Data { - static constexpr auto HIDDEN_HOMONYM_FLAG = char16_t(-1); - static constexpr auto MAX_SUGGESTIONS = size_t(16); + static constexpr char16_t HIDDEN_HOMONYM_FLAG = -1; + static constexpr size_t MAX_SUGGESTIONS = 16; // spell checking options - Word_List words; - Prefix_Table prefixes; - Suffix_Table suffixes; - - bool complex_prefixes; - bool fullstrip; - bool checksharps; - bool forbid_warn; - char16_t compound_onlyin_flag; - char16_t circumfix_flag; - char16_t forbiddenword_flag; - char16_t keepcase_flag; - char16_t need_affix_flag; - char16_t warn_flag; + Word_List words = {}; + Prefix_Table prefixes = {}; + Suffix_Table suffixes = {}; + + bool complex_prefixes = {}; + bool fullstrip = {}; + bool checksharps = {}; + bool forbid_warn = {}; + char16_t compound_onlyin_flag = {}; + char16_t circumfix_flag = {}; + char16_t forbiddenword_flag = {}; + char16_t keepcase_flag = {}; + char16_t need_affix_flag = {}; + char16_t warn_flag = {}; // compounding options - char16_t compound_flag; - char16_t compound_begin_flag; - char16_t compound_last_flag; - char16_t compound_middle_flag; - Compound_Rule_Table compound_rules; + char16_t compound_flag = {}; + char16_t compound_begin_flag = {}; + char16_t compound_last_flag = {}; + char16_t compound_middle_flag = {}; + Compound_Rule_Table compound_rules = {}; // spell checking options - Break_Table break_table; - Substr_Replacer input_substr_replacer; - std::string ignored_chars; - icu::Locale icu_locale; - Substr_Replacer output_substr_replacer; + Break_Table break_table = {}; + Substr_Replacer input_substr_replacer = {}; + std::string ignored_chars = {}; + icu::Locale icu_locale = {}; + Substr_Replacer output_substr_replacer = {}; // suggestion options - Replacement_Table replacements; - std::vector<Similarity_Group> similarities; - std::string keyboard_closeness; - std::string try_chars; - // Phonetic_Table phonetic_table; - - char16_t nosuggest_flag; - char16_t substandard_flag; - unsigned short max_compound_suggestions; - unsigned short max_ngram_suggestions; - unsigned short max_diff_factor; - bool only_max_diff; - bool no_split_suggestions; - bool suggest_with_dots; + Replacement_Table replacements = {}; + std::vector<Similarity_Group> similarities = {}; + std::string keyboard_closeness = {}; + std::string try_chars = {}; + // Phonetic_Table phonetic_table = {}; + + char16_t nosuggest_flag = {}; + char16_t substandard_flag = {}; + unsigned short max_compound_suggestions = {}; + unsigned short max_ngram_suggestions = {}; + unsigned short max_diff_factor = {}; + bool only_max_diff = {}; + bool no_split_suggestions = {}; + bool suggest_with_dots = {}; // compounding options - unsigned short compound_min_length; - unsigned short compound_max_word_count; - char16_t compound_permit_flag; - char16_t compound_forbid_flag; - char16_t compound_root_flag; - char16_t compound_force_uppercase; - bool compound_more_suffixes; - bool compound_check_duplicate; - bool compound_check_rep; - bool compound_check_case; - bool compound_check_triple; - bool compound_simplified_triple; - bool compound_syllable_num; - unsigned short compound_syllable_max; - std::string compound_syllable_vowels; - std::vector<Compound_Pattern> compound_patterns; + unsigned short compound_min_length = {}; + unsigned short compound_max_word_count = {}; + char16_t compound_permit_flag = {}; + char16_t compound_forbid_flag = {}; + char16_t compound_root_flag = {}; + char16_t compound_force_uppercase = {}; + bool compound_more_suffixes = {}; + bool compound_check_duplicate = {}; + bool compound_check_rep = {}; + bool compound_check_case = {}; + bool compound_check_triple = {}; + bool compound_simplified_triple = {}; + bool compound_syllable_num = {}; + unsigned short compound_syllable_max = {}; + std::string compound_syllable_vowels = {}; + std::vector<Compound_Pattern> compound_patterns = {}; // data members used only while parsing - Flag_Type flag_type; - Encoding encoding; - std::vector<Flag_Set> flag_aliases; - std::string wordchars; // deprecated? + Flag_Type flag_type = {}; + Encoding encoding = {}; + std::vector<Flag_Set> flag_aliases = {}; + std::string wordchars = {}; // deprecated? auto parse_aff(std::istream& in, std::ostream& err_msg) -> bool; auto parse_dic(std::istream& in, std::ostream& err_msg) -> bool; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/src/nuspell/checker.cxx new/nuspell-5.1.6/src/nuspell/checker.cxx --- old/nuspell-5.1.4/src/nuspell/checker.cxx 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/src/nuspell/checker.cxx 2024-07-04 13:45:35.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright 2016-2023 Dimitrij Mijoski +/* Copyright 2016-2024 Dimitrij Mijoski * * This file is part of Nuspell. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/src/nuspell/checker.hxx new/nuspell-5.1.6/src/nuspell/checker.hxx --- old/nuspell-5.1.4/src/nuspell/checker.hxx 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/src/nuspell/checker.hxx 2024-07-04 13:45:35.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright 2016-2023 Dimitrij Mijoski +/* Copyright 2016-2024 Dimitrij Mijoski * * This file is part of Nuspell. * @@ -89,10 +89,7 @@ ACCEPT_HIDDEN_HOMONYM = false, SKIP_HIDDEN_HOMONYM = true }; - Checker() - : Aff_Data() // we explicity do value init so content is zeroed - { - } + auto spell_priv(std::string& s) const -> bool; auto spell_break(std::string& s, size_t depth = 0) const -> bool; auto spell_casing(std::string& s) const -> const Flag_Set*; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/src/nuspell/defines.hxx new/nuspell-5.1.6/src/nuspell/defines.hxx --- old/nuspell-5.1.4/src/nuspell/defines.hxx 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/src/nuspell/defines.hxx 2024-07-04 13:45:35.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright 2016-2023 Dimitrij Mijoski +/* Copyright 2016-2024 Dimitrij Mijoski * * This file is part of Nuspell. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/src/nuspell/dictionary.cxx new/nuspell-5.1.6/src/nuspell/dictionary.cxx --- old/nuspell-5.1.4/src/nuspell/dictionary.cxx 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/src/nuspell/dictionary.cxx 2024-07-04 13:45:35.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright 2016-2023 Dimitrij Mijoski +/* Copyright 2016-2024 Dimitrij Mijoski * * This file is part of Nuspell. * @@ -21,7 +21,6 @@ #include <fstream> #include <sstream> -#include <stdexcept> using namespace std; @@ -65,7 +64,7 @@ auto err = "Dic file " + dic_path.string() + " not found."; throw Dictionary_Loading_Error(err); } - return {move(aff_file), move(dic_file)}; + return {std::move(aff_file), std::move(dic_file)}; } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/src/nuspell/dictionary.hxx new/nuspell-5.1.6/src/nuspell/dictionary.hxx --- old/nuspell-5.1.4/src/nuspell/dictionary.hxx 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/src/nuspell/dictionary.hxx 2024-07-04 13:45:35.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright 2016-2023 Dimitrij Mijoski +/* Copyright 2016-2024 Dimitrij Mijoski * * This file is part of Nuspell. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/src/nuspell/finder.cxx new/nuspell-5.1.6/src/nuspell/finder.cxx --- old/nuspell-5.1.4/src/nuspell/finder.cxx 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/src/nuspell/finder.cxx 2024-07-04 13:45:35.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright 2016-2023 Dimitrij Mijoski +/* Copyright 2016-2024 Dimitrij Mijoski * * This file is part of Nuspell. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/src/nuspell/finder.hxx new/nuspell-5.1.6/src/nuspell/finder.hxx --- old/nuspell-5.1.4/src/nuspell/finder.hxx 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/src/nuspell/finder.hxx 2024-07-04 13:45:35.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright 2016-2023 Dimitrij Mijoski +/* Copyright 2016-2024 Dimitrij Mijoski * * This file is part of Nuspell. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/src/nuspell/structures.hxx new/nuspell-5.1.6/src/nuspell/structures.hxx --- old/nuspell-5.1.4/src/nuspell/structures.hxx 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/src/nuspell/structures.hxx 2024-07-04 13:45:35.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright 2018-2023 Dimitrij Mijoski +/* Copyright 2018-2024 Dimitrij Mijoski * * This file is part of Nuspell. * @@ -330,7 +330,7 @@ { sort_uniq(); } - explicit Substr_Replacer(Table_Pairs&& v) : table(move(v)) + explicit Substr_Replacer(Table_Pairs&& v) : table(std::move(v)) { sort_uniq(); } @@ -343,7 +343,7 @@ } auto& operator=(Table_Pairs&& v) { - table = move(v); + table = std::move(v); sort_uniq(); return *this; } @@ -454,7 +454,7 @@ public: Break_Table() = default; explicit Break_Table(const Table_Str& v) : table(v) { order_entries(); } - explicit Break_Table(Table_Str&& v) : table(move(v)) + explicit Break_Table(Table_Str&& v) : table(std::move(v)) { order_entries(); } @@ -468,7 +468,7 @@ auto& operator=(Table_Str&& v) { - table = move(v); + table = std::move(v); order_entries(); return *this; } @@ -667,7 +667,7 @@ { construct(); } - explicit Condition(Str&& condition) : cond(move(condition)) + explicit Condition(Str&& condition) : cond(std::move(condition)) { construct(); } @@ -1393,7 +1393,7 @@ fill_all_flags(); } explicit Compound_Rule_Table(std::vector<std::u16string>&& tbl) - : rules(move(tbl)) + : rules(std::move(tbl)) { fill_all_flags(); } @@ -1405,7 +1405,7 @@ } auto& operator=(std::vector<std::u16string>&& tbl) { - rules = move(tbl); + rules = std::move(tbl); fill_all_flags(); return *this; } @@ -1538,7 +1538,7 @@ { order_entries(); } - explicit Replacement_Table(Table_Str&& v) : table(move(v)) + explicit Replacement_Table(Table_Str&& v) : table(std::move(v)) { order_entries(); } @@ -1552,7 +1552,7 @@ auto& operator=(Table_Str&& v) { - table = move(v); + table = std::move(v); order_entries(); return *this; } @@ -1667,7 +1667,7 @@ { order(); } - explicit Phonetic_Table(std::vector<Pair_Str>&& v) : table(move(v)) + explicit Phonetic_Table(std::vector<Pair_Str>&& v) : table(std::move(v)) { order(); } @@ -1679,7 +1679,7 @@ } auto& operator=(std::vector<Pair_Str>&& v) { - table = move(v); + table = std::move(v); order(); return *this; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/src/nuspell/suggester.cxx new/nuspell-5.1.6/src/nuspell/suggester.cxx --- old/nuspell-5.1.4/src/nuspell/suggester.cxx 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/src/nuspell/suggester.cxx 2024-07-04 13:45:35.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright 2016-2023 Dimitrij Mijoski +/* Copyright 2016-2024 Dimitrij Mijoski * * This file is part of Nuspell. * @@ -202,7 +202,7 @@ if (it != last) { for (auto it2 = it + 1; it2 != last; ++it2) if (is_ok(*it2)) - *it++ = move(*it2); + *it++ = std::move(*it2); out.erase(it, last); } } @@ -975,12 +975,12 @@ if (guess_words.size() != 200) { guess_words.push_back( - {move(expanded_word), score}); + {std::move(expanded_word), score}); push_heap(begin(guess_words), end(guess_words)); } else if (score > guess_words.front().score) { pop_heap(begin(guess_words), end(guess_words)); - guess_words.back() = {move(expanded_word), + guess_words.back() = {std::move(expanded_word), score}; push_heap(begin(guess_words), end(guess_words)); } @@ -1051,7 +1051,7 @@ else continue; } - out.push_back(move(guess_word_u8)); + out.push_back(std::move(guess_word_u8)); } } @@ -1088,7 +1088,7 @@ continue; auto expanded = suffix.to_derived_copy(root); - expanded_list.push_back(move(expanded)); + expanded_list.push_back(std::move(expanded)); cross_affix.push_back(suffix.cross_product); } @@ -1114,7 +1114,7 @@ continue; auto expanded = prefix.to_derived_copy(root_sfx); - expanded_list.push_back(move(expanded)); + expanded_list.push_back(std::move(expanded)); } } @@ -1135,7 +1135,7 @@ continue; auto expanded = prefix.to_derived_copy(root); - expanded_list.push_back(move(expanded)); + expanded_list.push_back(std::move(expanded)); } } NUSPELL_END_INLINE_NAMESPACE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/src/nuspell/suggester.hxx new/nuspell-5.1.6/src/nuspell/suggester.hxx --- old/nuspell-5.1.4/src/nuspell/suggester.hxx 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/src/nuspell/suggester.hxx 2024-07-04 13:45:35.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright 2016-2023 Dimitrij Mijoski +/* Copyright 2016-2024 Dimitrij Mijoski * * This file is part of Nuspell. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/src/nuspell/unicode.hxx new/nuspell-5.1.6/src/nuspell/unicode.hxx --- old/nuspell-5.1.4/src/nuspell/unicode.hxx 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/src/nuspell/unicode.hxx 2024-07-04 13:45:35.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright 2021-2023 Dimitrij Mijoski +/* Copyright 2021-2024 Dimitrij Mijoski * * This file is part of Nuspell. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/src/nuspell/utils.cxx new/nuspell-5.1.6/src/nuspell/utils.cxx --- old/nuspell-5.1.4/src/nuspell/utils.cxx 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/src/nuspell/utils.cxx 2024-07-04 13:45:35.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright 2016-2023 Dimitrij Mijoski +/* Copyright 2016-2024 Dimitrij Mijoski * * This file is part of Nuspell. * @@ -20,7 +20,6 @@ #include "unicode.hxx" #include <algorithm> -#include <limits> #include <locale> #include <unicode/stringoptions.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/src/nuspell/utils.hxx new/nuspell-5.1.6/src/nuspell/utils.hxx --- old/nuspell-5.1.4/src/nuspell/utils.hxx 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/src/nuspell/utils.hxx 2024-07-04 13:45:35.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright 2016-2023 Dimitrij Mijoski +/* Copyright 2016-2024 Dimitrij Mijoski * * This file is part of Nuspell. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/src/tools/nuspell.cxx new/nuspell-5.1.6/src/tools/nuspell.cxx --- old/nuspell-5.1.4/src/tools/nuspell.cxx 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/src/tools/nuspell.cxx 2024-07-04 13:45:35.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright 2016-2023 Dimitrij Mijoski +/* Copyright 2016-2024 Dimitrij Mijoski * * This file is part of Nuspell. * @@ -66,7 +66,7 @@ The text in the input is first segmented into words with an algorithm that recognizes punctuation and then each word is checked. - -d, --dictionary=di_CT use di_CT dictionary (only one is supported) + -d, --dictionary=di_CT use di_CT dictionary, only one is supported -D, --list-dictionaries print search paths and available dictionaries --encoding=enc set both input and output encoding --input-encoding=enc input encoding, default is active locale @@ -74,12 +74,17 @@ --help print this help --version print version number -One dictionary consists of two files with extensions .dic and .aff. -The -d option accepts either dictionary name without filename extension or a -path with slash (and with extension) to the .aff file of the dictionary. When -just a name is given, it will be searched among the list of dictionaries in the -default directories (see option -D). When a path to .aff is given, only the -dictionary under the path is considered. +A dictionary consists of two files with extensions .dic and .aff. The -d option +accepts either dictionary name without filename extension, usually a language +tag, or a path (with slash) to the .aff file including the filename extension. +When just a name is given, it will be searched among the list of dictionaries in +the default directories (see option -D). When a path to .aff is given, only the +dictionary under the path is considered. When -d is not present, the CLI tools +tries to load a dictionary using the language tag from the active locale. + +Returns error if the argument syntax is invalid, if the dictionary can not be +loaded or if some input file can not be opened. Otherwise, spell checking has +occurred and returns success. The following environment variables can have effect: @@ -98,7 +103,7 @@ } auto ver_str = "nuspell " PROJECT_VERSION R"( -Copyright (C) 2016-2023 Dimitrij Mijoski +Copyright 2016-2024 Dimitrij Mijoski License LGPLv3+: GNU LGPL version 3 or later <http://gnu.org/licenses/lgpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/tests/legacy_test.cxx new/nuspell-5.1.6/tests/legacy_test.cxx --- old/nuspell-5.1.4/tests/legacy_test.cxx 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/tests/legacy_test.cxx 2024-07-04 13:45:35.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright 2018-2023 Dimitrij Mijoski +/* Copyright 2018-2024 Dimitrij Mijoski * * This file is part of Nuspell. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/tests/unit_test.cxx new/nuspell-5.1.6/tests/unit_test.cxx --- old/nuspell-5.1.4/tests/unit_test.cxx 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/tests/unit_test.cxx 2024-07-04 13:45:35.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright 2021-2023 Dimitrij Mijoski +/* Copyright 2021-2024 Dimitrij Mijoski * * This file is part of Nuspell. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nuspell-5.1.4/tests/verify.cxx new/nuspell-5.1.6/tests/verify.cxx --- old/nuspell-5.1.4/tests/verify.cxx 2023-11-08 10:44:28.000000000 +0100 +++ new/nuspell-5.1.6/tests/verify.cxx 2024-07-04 13:45:35.000000000 +0200 @@ -1,4 +1,4 @@ -/* Copyright 2016-2023 Dimitrij Mijoski +/* Copyright 2016-2024 Dimitrij Mijoski * * This file is part of Nuspell. * @@ -92,7 +92,7 @@ } auto ver_str = "nuspell " PROJECT_VERSION R"( -Copyright (C) 2016-2023 Dimitrij Mijoski +Copyright 2016-2024 Dimitrij Mijoski License LGPLv3+: GNU LGPL version 3 or later <http://gnu.org/licenses/lgpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.