Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package nuspell for openSUSE:Factory checked 
in at 2026-09-23 14:32:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nuspell (Old)
 and      /work/SRC/openSUSE:Factory/.nuspell.new.383539 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nuspell"

Wed Sep 23 14:32:35 2026 rev:13 rq:1379618 version:5.1.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/nuspell/nuspell.changes  2026-01-21 
14:14:22.839397185 +0100
+++ /work/SRC/openSUSE:Factory/.nuspell.new.383539/nuspell.changes      
2026-09-23 14:33:14.409046719 +0200
@@ -1,0 +2,14 @@
+Sat Sep 19 15:51:47 UTC 2026 - Atri Bhattacharya <[email protected]>
+
+- Update to version 5.1.9:
+  * In the CLI tool on POSIX do not try to detect character
+    encoding via the C locale functions, always assume UTF-8
+    unless manually specified on the command line.
+  * Improve the detection of language of the environment so we can
+    load a dictionary if it is not specified on the command line.
+- Changes from version 5.1.8:
+  * Fixed dependency info in CMake, do not link to ICU data
+    directly anymore.
+  * Fixed pkg-config to contain less absolute paths.
+
+-------------------------------------------------------------------

Old:
----
  nuspell-5.1.7.tar.gz

New:
----
  nuspell-5.1.9.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ nuspell.spec ++++++
--- /var/tmp/diff_new_pack.cBF2C9/_old  2026-09-23 14:33:15.034072849 +0200
+++ /var/tmp/diff_new_pack.cBF2C9/_new  2026-09-23 14:33:15.036072932 +0200
@@ -27,7 +27,7 @@
 # Ring1 package, avoid pandoc requirement by disabling man file generation
 %bcond_with man
 Name:           nuspell
-Version:        5.1.7
+Version:        5.1.9
 Release:        0
 Summary:        A spell checker library and command-line tool
 License:        LGPL-3.0-or-later

++++++ nuspell-5.1.7.tar.gz -> nuspell-5.1.9.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/CHANGELOG.md 
new/nuspell-5.1.9/CHANGELOG.md
--- old/nuspell-5.1.7/CHANGELOG.md      2025-11-25 14:26:17.000000000 +0100
+++ new/nuspell-5.1.9/CHANGELOG.md      2026-09-11 18:55:42.000000000 +0200
@@ -3,9 +3,24 @@
 
 All notable changes to this project will be documented in this file.
 
-The format is based on [Keep a 
Changelog](https://keepachangelog.com/en/1.0.0/),
+The format is based on [Keep a 
Changelog](https://keepachangelog.com/en/1.1.0/),
 and this project adheres to [Semantic 
Versioning](https://semver.org/spec/v2.0.0.html).
 
+## [5.1.9] - 2026-09-11
+### Changed
+- In the CLI tool on POSIX do not try to detect character encoding via the
+  C locale functions, always assume UTF-8 unless manually specified on the
+  command line.
+
+### Fixed
+- Improve the detection of language of the environment so we can load a
+  dictionary if it is not specified on the command line.
+
+## [5.1.8] - 2026-07-15
+### Fixed
+- Fixed dependency info in CMake, do not link to ICU data directly anymore.
+- Fixed pkg-config to contain less absolute paths.
+
 ## [5.1.7] - 2025-11-25
 ### Added
 - Add API documentation that is generated when building by Doxygen. Doxygen
@@ -296,6 +311,8 @@
 - Spelling error detection (checking) is closely matching Hunspell
 - Support for spelling error correction (suggestions)
 
+[5.1.9]: https://github.com/nuspell/nuspell/compare/v5.1.8...v5.1.9
+[5.1.8]: https://github.com/nuspell/nuspell/compare/v5.1.7...v5.1.8
 [5.1.7]: https://github.com/nuspell/nuspell/compare/v5.1.6...v5.1.7
 [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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/CMakeLists.txt 
new/nuspell-5.1.9/CMakeLists.txt
--- old/nuspell-5.1.7/CMakeLists.txt    2025-11-25 14:26:17.000000000 +0100
+++ new/nuspell-5.1.9/CMakeLists.txt    2026-09-11 18:55:42.000000000 +0200
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.18)
 project(nuspell
-       VERSION 5.1.7
+       VERSION 5.1.9
        DESCRIPTION "Nuspell spellchecking library"
        HOMEPAGE_URL https://nuspell.github.io/
        LANGUAGES CXX)
@@ -16,7 +16,7 @@
 cmake_dependent_option(BUILD_MAN "Build man-pages." ON BUILD_DOCS OFF)
 cmake_dependent_option(BUILD_API_DOCS "Build API docs." ON BUILD_DOCS OFF)
 
-find_package(ICU 60 REQUIRED COMPONENTS uc data)
+find_package(ICU 60 REQUIRED COMPONENTS uc)
 get_directory_property(subproject PARENT_DIRECTORY)
 add_subdirectory(src/nuspell)
 
@@ -60,6 +60,10 @@
 endif()
 
 
+file(RELATIVE_PATH PKGCONFIG_LIBDIR
+       ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_FULL_LIBDIR})
+file(RELATIVE_PATH PKGCONFIG_INCLUDEDIR
+       ${CMAKE_INSTALL_PREFIX} ${CMAKE_INSTALL_FULL_INCLUDEDIR})
 configure_file(nuspell.pc.in nuspell.pc @ONLY)
 #configure_file(NuspellConfig.cmake NuspellConfig.cmake COPYONLY)
 write_basic_package_version_file(NuspellConfigVersion.cmake
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/NuspellConfig.cmake 
new/nuspell-5.1.9/NuspellConfig.cmake
--- old/nuspell-5.1.7/NuspellConfig.cmake       2025-11-25 14:26:17.000000000 
+0100
+++ new/nuspell-5.1.9/NuspellConfig.cmake       2026-09-11 18:55:42.000000000 
+0200
@@ -1,3 +1,3 @@
 include(CMakeFindDependencyMacro)
-find_dependency(ICU COMPONENTS uc data)
+find_dependency(ICU COMPONENTS uc)
 include("${CMAKE_CURRENT_LIST_DIR}/NuspellTargets.cmake")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/docs/nuspell.1.md 
new/nuspell-5.1.9/docs/nuspell.1.md
--- old/nuspell-5.1.7/docs/nuspell.1.md 2025-11-25 14:26:17.000000000 +0100
+++ new/nuspell-5.1.9/docs/nuspell.1.md 2026-09-11 18:55:42.000000000 +0200
@@ -4,7 +4,7 @@
 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 significant changes in this
+date: 2026-09-11 # This date should be changed when significant changes in this
                  # document are made. It is not release date or build date.
 ---
 
@@ -43,10 +43,10 @@
 :  Set both input and output encoding.
 
 __\--input-encoding=__*ENC*
-:  Set input encoding, default is active locale.
+:  Set input encoding, default is UTF-8.
 
 __\--output-encoding=__*ENC*
-:  Set output encoding, default is active locale.
+:  Set output encoding, default is UTF-8.
 
 **\--help**
 :  Print short help.
@@ -87,7 +87,7 @@
 
 # COPYRIGHT
 
-Copyright 2016-2024 Nuspell authors.
+Copyright 2016-2026 Nuspell authors.
 
 # SEE ALSO
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/nuspell.pc.in 
new/nuspell-5.1.9/nuspell.pc.in
--- old/nuspell-5.1.7/nuspell.pc.in     2025-11-25 14:26:17.000000000 +0100
+++ new/nuspell-5.1.9/nuspell.pc.in     2026-09-11 18:55:42.000000000 +0200
@@ -1,7 +1,7 @@
 prefix=@CMAKE_INSTALL_PREFIX@
 exec_prefix=${prefix}
-libdir=@CMAKE_INSTALL_FULL_LIBDIR@
-includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
+libdir=${prefix}/@PKGCONFIG_LIBDIR@
+includedir=${prefix}/@PKGCONFIG_INCLUDEDIR@
 
 Name: @PROJECT_NAME@
 Description: @PROJECT_DESCRIPTION@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/src/nuspell/CMakeLists.txt 
new/nuspell-5.1.9/src/nuspell/CMakeLists.txt
--- old/nuspell-5.1.7/src/nuspell/CMakeLists.txt        2025-11-25 
14:26:17.000000000 +0100
+++ new/nuspell-5.1.9/src/nuspell/CMakeLists.txt        2026-09-11 
18:55:42.000000000 +0200
@@ -30,7 +30,7 @@
        INTERFACE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src>
                  $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
 
-target_link_libraries(nuspell PUBLIC ICU::uc ICU::data)
+target_link_libraries(nuspell PUBLIC ICU::uc)
 
 if (subproject)
        return()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/src/nuspell/aff_data.cxx 
new/nuspell-5.1.9/src/nuspell/aff_data.cxx
--- old/nuspell-5.1.7/src/nuspell/aff_data.cxx  2025-11-25 14:26:17.000000000 
+0100
+++ new/nuspell-5.1.9/src/nuspell/aff_data.cxx  2026-09-11 18:55:42.000000000 
+0200
@@ -1,4 +1,4 @@
-/* Copyright 2016-2024 Dimitrij Mijoski
+/* Copyright 2016-2026 Dimitrij Mijoski
  *
  * This file is part of Nuspell.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/src/nuspell/aff_data.hxx 
new/nuspell-5.1.9/src/nuspell/aff_data.hxx
--- old/nuspell-5.1.7/src/nuspell/aff_data.hxx  2025-11-25 14:26:17.000000000 
+0100
+++ new/nuspell-5.1.9/src/nuspell/aff_data.hxx  2026-09-11 18:55:42.000000000 
+0200
@@ -1,4 +1,4 @@
-/* Copyright 2016-2024 Dimitrij Mijoski
+/* Copyright 2016-2026 Dimitrij Mijoski
  *
  * This file is part of Nuspell.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/src/nuspell/checker.cxx 
new/nuspell-5.1.9/src/nuspell/checker.cxx
--- old/nuspell-5.1.7/src/nuspell/checker.cxx   2025-11-25 14:26:17.000000000 
+0100
+++ new/nuspell-5.1.9/src/nuspell/checker.cxx   2026-09-11 18:55:42.000000000 
+0200
@@ -1,4 +1,4 @@
-/* Copyright 2016-2024 Dimitrij Mijoski
+/* Copyright 2016-2026 Dimitrij Mijoski
  *
  * This file is part of Nuspell.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/src/nuspell/checker.hxx 
new/nuspell-5.1.9/src/nuspell/checker.hxx
--- old/nuspell-5.1.7/src/nuspell/checker.hxx   2025-11-25 14:26:17.000000000 
+0100
+++ new/nuspell-5.1.9/src/nuspell/checker.hxx   2026-09-11 18:55:42.000000000 
+0200
@@ -1,4 +1,4 @@
-/* Copyright 2016-2024 Dimitrij Mijoski
+/* Copyright 2016-2026 Dimitrij Mijoski
  *
  * This file is part of Nuspell.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/src/nuspell/defines.hxx 
new/nuspell-5.1.9/src/nuspell/defines.hxx
--- old/nuspell-5.1.7/src/nuspell/defines.hxx   2025-11-25 14:26:17.000000000 
+0100
+++ new/nuspell-5.1.9/src/nuspell/defines.hxx   2026-09-11 18:55:42.000000000 
+0200
@@ -1,4 +1,4 @@
-/* Copyright 2016-2024 Dimitrij Mijoski
+/* Copyright 2016-2026 Dimitrij Mijoski
  *
  * This file is part of Nuspell.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/src/nuspell/dictionary.cxx 
new/nuspell-5.1.9/src/nuspell/dictionary.cxx
--- old/nuspell-5.1.7/src/nuspell/dictionary.cxx        2025-11-25 
14:26:17.000000000 +0100
+++ new/nuspell-5.1.9/src/nuspell/dictionary.cxx        2026-09-11 
18:55:42.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright 2016-2024 Dimitrij Mijoski
+/* Copyright 2016-2026 Dimitrij Mijoski
  *
  * This file is part of Nuspell.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/src/nuspell/dictionary.hxx 
new/nuspell-5.1.9/src/nuspell/dictionary.hxx
--- old/nuspell-5.1.7/src/nuspell/dictionary.hxx        2025-11-25 
14:26:17.000000000 +0100
+++ new/nuspell-5.1.9/src/nuspell/dictionary.hxx        2026-09-11 
18:55:42.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright 2016-2024 Dimitrij Mijoski
+/* Copyright 2016-2026 Dimitrij Mijoski
  *
  * This file is part of Nuspell.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/src/nuspell/finder.cxx 
new/nuspell-5.1.9/src/nuspell/finder.cxx
--- old/nuspell-5.1.7/src/nuspell/finder.cxx    2025-11-25 14:26:17.000000000 
+0100
+++ new/nuspell-5.1.9/src/nuspell/finder.cxx    2026-09-11 18:55:42.000000000 
+0200
@@ -1,4 +1,4 @@
-/* Copyright 2016-2024 Dimitrij Mijoski
+/* Copyright 2016-2026 Dimitrij Mijoski
  *
  * This file is part of Nuspell.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/src/nuspell/finder.hxx 
new/nuspell-5.1.9/src/nuspell/finder.hxx
--- old/nuspell-5.1.7/src/nuspell/finder.hxx    2025-11-25 14:26:17.000000000 
+0100
+++ new/nuspell-5.1.9/src/nuspell/finder.hxx    2026-09-11 18:55:42.000000000 
+0200
@@ -1,4 +1,4 @@
-/* Copyright 2016-2024 Dimitrij Mijoski
+/* Copyright 2016-2026 Dimitrij Mijoski
  *
  * This file is part of Nuspell.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/src/nuspell/structures.hxx 
new/nuspell-5.1.9/src/nuspell/structures.hxx
--- old/nuspell-5.1.7/src/nuspell/structures.hxx        2025-11-25 
14:26:17.000000000 +0100
+++ new/nuspell-5.1.9/src/nuspell/structures.hxx        2026-09-11 
18:55:42.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright 2018-2024 Dimitrij Mijoski
+/* Copyright 2018-2026 Dimitrij Mijoski
  *
  * This file is part of Nuspell.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/src/nuspell/suggester.cxx 
new/nuspell-5.1.9/src/nuspell/suggester.cxx
--- old/nuspell-5.1.7/src/nuspell/suggester.cxx 2025-11-25 14:26:17.000000000 
+0100
+++ new/nuspell-5.1.9/src/nuspell/suggester.cxx 2026-09-11 18:55:42.000000000 
+0200
@@ -1,4 +1,4 @@
-/* Copyright 2016-2024 Dimitrij Mijoski
+/* Copyright 2016-2026 Dimitrij Mijoski
  *
  * This file is part of Nuspell.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/src/nuspell/suggester.hxx 
new/nuspell-5.1.9/src/nuspell/suggester.hxx
--- old/nuspell-5.1.7/src/nuspell/suggester.hxx 2025-11-25 14:26:17.000000000 
+0100
+++ new/nuspell-5.1.9/src/nuspell/suggester.hxx 2026-09-11 18:55:42.000000000 
+0200
@@ -1,4 +1,4 @@
-/* Copyright 2016-2024 Dimitrij Mijoski
+/* Copyright 2016-2026 Dimitrij Mijoski
  *
  * This file is part of Nuspell.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/src/nuspell/unicode.hxx 
new/nuspell-5.1.9/src/nuspell/unicode.hxx
--- old/nuspell-5.1.7/src/nuspell/unicode.hxx   2025-11-25 14:26:17.000000000 
+0100
+++ new/nuspell-5.1.9/src/nuspell/unicode.hxx   2026-09-11 18:55:42.000000000 
+0200
@@ -1,4 +1,4 @@
-/* Copyright 2021-2024 Dimitrij Mijoski
+/* Copyright 2021-2026 Dimitrij Mijoski
  *
  * This file is part of Nuspell.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/src/nuspell/utils.cxx 
new/nuspell-5.1.9/src/nuspell/utils.cxx
--- old/nuspell-5.1.7/src/nuspell/utils.cxx     2025-11-25 14:26:17.000000000 
+0100
+++ new/nuspell-5.1.9/src/nuspell/utils.cxx     2026-09-11 18:55:42.000000000 
+0200
@@ -1,4 +1,4 @@
-/* Copyright 2016-2024 Dimitrij Mijoski
+/* Copyright 2016-2026 Dimitrij Mijoski
  *
  * This file is part of Nuspell.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/src/nuspell/utils.hxx 
new/nuspell-5.1.9/src/nuspell/utils.hxx
--- old/nuspell-5.1.7/src/nuspell/utils.hxx     2025-11-25 14:26:17.000000000 
+0100
+++ new/nuspell-5.1.9/src/nuspell/utils.hxx     2026-09-11 18:55:42.000000000 
+0200
@@ -1,4 +1,4 @@
-/* Copyright 2016-2024 Dimitrij Mijoski
+/* Copyright 2016-2026 Dimitrij Mijoski
  *
  * This file is part of Nuspell.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/src/tools/nuspell.cxx 
new/nuspell-5.1.9/src/tools/nuspell.cxx
--- old/nuspell-5.1.7/src/tools/nuspell.cxx     2025-11-25 14:26:17.000000000 
+0100
+++ new/nuspell-5.1.9/src/tools/nuspell.cxx     2026-09-11 18:55:42.000000000 
+0200
@@ -1,4 +1,4 @@
-/* Copyright 2016-2024 Dimitrij Mijoski
+/* Copyright 2016-2026 Dimitrij Mijoski
  *
  * This file is part of Nuspell.
  *
@@ -32,9 +32,6 @@
 #if __has_include(<unistd.h>)
 #include <unistd.h> // defines _POSIX_VERSION
 #endif
-#ifdef _POSIX_VERSION
-#include <langinfo.h>
-#endif
 #ifdef _WIN32
 #include <io.h>
 #ifndef NOMINMAX
@@ -69,8 +66,8 @@
   -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
-  --output-encoding=enc     output encoding, default is active locale
+  --input-encoding=enc      input encoding, default is UTF-8
+  --output-encoding=enc     output encoding, default is UTF-8
   --help                    print this help
   --version                 print version number
 
@@ -103,7 +100,7 @@
 }
 
 auto ver_str = "nuspell " PROJECT_VERSION R"(
-Copyright 2016-2024 Dimitrij Mijoski
+Copyright 2016-2026 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.
@@ -398,10 +395,7 @@
                return 0;
        }
 
-       char* loc_str = nullptr;
 #if _WIN32
-       loc_str = setlocale(LC_CTYPE, nullptr); // will return "C"
-
        /* On Windows, the console is a buggy thing. If the default C locale is
        active, then the encoding of the strings gotten from C or C++ stdio
        (fgets, scanf, cin) is GetConsoleCP(). Stdout accessed via standard
@@ -419,21 +413,6 @@
        When stdin or stout are redirected from/to file or another terminal like
        the one in MSYS2, they are read/written as-is. Then we will assume UTF-8
        encoding. */
-#else
-       loc_str = setlocale(LC_CTYPE, "");
-       if (!loc_str) {
-               clog << "WARNING: Can not set to system locale, fall back to "
-                       "\"C\".\n";
-               loc_str = setlocale(LC_CTYPE, nullptr); // will return "C"
-       }
-#endif
-#if _POSIX_VERSION
-       auto enc_str = nl_langinfo(CODESET);
-       if (input_enc.empty())
-               input_enc = enc_str;
-       if (output_enc.empty())
-               output_enc = enc_str;
-#elif _WIN32
        if (optind == argc && _isatty(_fileno(stdin)))
                input_enc = "cp" + to_string(GetConsoleCP());
        else if (input_enc.empty())
@@ -442,10 +421,13 @@
                output_enc = "cp" + to_string(GetConsoleOutputCP());
        else if (output_enc.empty())
                output_enc = "UTF-8";
+#else
+       if (input_enc.empty())
+               input_enc = "UTF-8";
+       if (output_enc.empty())
+               output_enc = "UTF-8";
 #endif
-       auto loc_str_sv = string_view(loc_str);
-       clog << "INFO: Locale LC_CTYPE=" << loc_str_sv
-            << ", Input encoding=" << input_enc
+       clog << "INFO: Input encoding=" << input_enc
             << ", Output encoding=" << output_enc << endl;
 
        if (dictionary.empty()) {
@@ -455,8 +437,28 @@
        }
        if (dictionary.empty()) {
                // infer dictionary from locale
-               auto idx = min(loc_str_sv.find('.'), loc_str_sv.find('@'));
-               dictionary = loc_str_sv.substr(0, idx);
+#ifdef LC_MESSAGES
+               auto loc_str = setlocale(LC_MESSAGES, "");
+#else
+               auto loc_str = setlocale(LC_CTYPE, "");
+#endif
+               if (loc_str == nullptr)
+                       loc_str = getenv("LC_ALL");
+               if (loc_str == nullptr)
+                       loc_str = getenv("LC_MESSAGES");
+               if (loc_str == nullptr)
+                       loc_str = getenv("LANG");
+               if (loc_str != nullptr) {
+                       auto loc_str_sv = string_view(loc_str);
+                       auto idx =
+                           min(loc_str_sv.find('.'), loc_str_sv.find('@'));
+                       dictionary = loc_str_sv.substr(0, idx);
+               }
+#ifdef LC_MESSAGES
+               setlocale(LC_MESSAGES, "C");
+#else
+               setlocale(LC_CTYPE, "C");
+#endif
        }
        if (dictionary.empty()) {
                clog << "ERROR: No dictionary provided and can not infer from "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/tests/legacy_test.cxx 
new/nuspell-5.1.9/tests/legacy_test.cxx
--- old/nuspell-5.1.7/tests/legacy_test.cxx     2025-11-25 14:26:17.000000000 
+0100
+++ new/nuspell-5.1.9/tests/legacy_test.cxx     2026-09-11 18:55:42.000000000 
+0200
@@ -1,4 +1,4 @@
-/* Copyright 2018-2024 Dimitrij Mijoski
+/* Copyright 2018-2026 Dimitrij Mijoski
  *
  * This file is part of Nuspell.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/tests/unit_test.cxx 
new/nuspell-5.1.9/tests/unit_test.cxx
--- old/nuspell-5.1.7/tests/unit_test.cxx       2025-11-25 14:26:17.000000000 
+0100
+++ new/nuspell-5.1.9/tests/unit_test.cxx       2026-09-11 18:55:42.000000000 
+0200
@@ -1,4 +1,4 @@
-/* Copyright 2021-2024 Dimitrij Mijoski
+/* Copyright 2021-2026 Dimitrij Mijoski
  *
  * This file is part of Nuspell.
  *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nuspell-5.1.7/tests/verify.cxx 
new/nuspell-5.1.9/tests/verify.cxx
--- old/nuspell-5.1.7/tests/verify.cxx  2025-11-25 14:26:17.000000000 +0100
+++ new/nuspell-5.1.9/tests/verify.cxx  2026-09-11 18:55:42.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright 2016-2024 Dimitrij Mijoski
+/* Copyright 2016-2026 Dimitrij Mijoski
  *
  * This file is part of Nuspell.
  *
@@ -92,7 +92,7 @@
 }
 
 auto ver_str = "nuspell " PROJECT_VERSION R"(
-Copyright 2016-2024 Dimitrij Mijoski
+Copyright 2016-2026 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