aspell-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[aspell-devel] Honoring ‘ASPELL_CONF’ in libaspell


From: Ludovic Courtès
Subject: [aspell-devel] Honoring ‘ASPELL_CONF’ in libaspell
Date: Sun, 26 Mar 2017 15:52:35 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)

Hello!

GNU Guix does not follow the file system hierarchy standard (FHS) and
thus does not have a “standard location” where dictionaries can be
looked for.

When using the ‘aspell’ command-line tool, that’s not a problem: users
can simply do

  export ASPELL_CONF="dict-dir $HOME/.guix-profile/lib/aspell"

and then ‘aspell’ will look for dictionaries in this place.

However, libaspell does not honor ‘ASPELL_CONF’, and thus libraries such
as Enchant that link against libaspell think there are no dictionaries
around because they’re not looking in the right place:

  https://bugs.gnu.org/25836

To work around this, I considered patching our ‘aspell’ package in Guix
such that libaspell would always honor ‘ASPELL_CONF’.  I tried this
naive patch:

--- aspell-0.60.6.1/lib/new_config.cpp  2017-03-10 11:16:56.343795853 +0100
+++ aspell-0.60.6.1/lib/new_config.cpp  2017-03-10 11:16:57.607786182 +0100
@@ -17,6 +17,10 @@ namespace acommon {
   Config * new_config() 
   {
     Config * config = new_basic_config();
+
+    // Honor 'ASPELL_CONF' unconditionally.
+    config->read_in_settings();
+
     setup_static_filters(config);
     return config;
   }
… but it breaks the ‘aspell’ command:

  aspell: common/config.cpp:1335: acommon::PosibErr<void> 
acommon::Config::set_committed_state(bool): Assertion `empty()' failed.

So two questions:

  1. What am I doing wrong in this patch?  :-)

  2. What’s your take on the general issue of this need to configure
     libaspell when its users (Enchant here) are oblivious to this
     configuration?

Thanks in advance,
Ludo’.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]