I can confirm that it now works. I did a bit of looking through the commit
history and playing around with 'guix time-machine', and whatever changed to fix
it, it wasn't a change that touched gnu/packages/emacs.scm. I know it fell
between 7ab5c4e0e8 and 5ce153b110, though.

Thanks for bringing this up, I guess we can close this now?

- reepca

On Tue, Mar 10, 2020 at 4:52 PM <mike@rohleder.de> wrote:
Caleb Ristvedt <caleb.ristvedt@cune.org> writes:
>
> Assuming the above file is named emacs-module-test.c:
>
> -------------------------------
> $ gcc -fPIC -shared emacs-module-test.c -o hello-module.so
> $ emacs -Q -L . --batch -l hello-module --eval "(message (hello-c))"
>
> => Symbol's function definition is void: hello-c
> -------------------------------
>
> As far as I can tell, this should work. Our emacs is built with
> '--with-modules', and 'MODULES' is in system-configuration-features. Any
> idea what's going wrong?

I cant reproduce this, it works for me:

$ guix environment -C bash --ad-hoc emacs gcc-toolchain
[env]$ gcc -fPIC -shared emacs-module-test.c -o hello-module.so
[env]$ emacs -Q -L . --batch -l hello-module --eval "(message (hello-c))" 
TEST MESSAGE!
TEST MESSAGE!
TEST MESSAGE!
Hello Emacs


--
Der Erfolg ist nicht danach zu beurteilen, was ein Mensch im Leben
erreicht hat, sondern nach den Hindernissen, die er auf dem Weg zum
Erfolg ueberwunden hat.
(Booker T. Washington)