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.

Reply via email to