Subject: Re: bug#47318: 26.3; Modules on Emacs 26.3 broken?

From: Sanel Zukan <[email-masked]>
Date: Sat, 27 Mar 2021 18:53:55 +0100

Philipp <[email-masked]> writes:
> Could you please explain precisely what you're trying to do, starting from 'emacs -Q'?  Thanks.

Sure! I'm going to use that mymod example.

 1. Start emacs 26.3 with:
    "~/programs/emacs/emacs-26.3/src/emacs -Q"

 2. Run in *scratch* (or minibuffer):
    (load "/home/sanel/programs/emacs/module-test/mymod.so")

 Loading without ".so" extesions also works.

 3. This will return 't'.

 4. After mymod.so is loaded, 'mymod-test' function should be defined.

 5. In *scratch* or minibuffer, running: (fboundp 'mymod-test) => nil.

Also, evaliuating '(mymod-test)' will throw this error:

  Debugger entered--Lisp error: (void-function mymod-test)
    (mymod-test)
    eval((mymod-test) nil)
    elisp--eval-last-sexp(t)
    eval-last-sexp(t)
    eval-print-last-sexp(nil)
    funcall-interactively(eval-print-last-sexp nil)
    call-interactively(eval-print-last-sexp nil nil)
    command-execute(eval-print-last-sexp)

Replicating the same steps in emacs 27.2, in the step 4. it will
return 't' and when '(mymod-test)' is called, it will return 42.

Best regards,
Sanel

>> 
>> Any idea what could go wrong?
>> 
>> Best regards,
>> Sanel
>> 
>> Philipp Stephani <[email-masked]> writes:
>>> Am Mo., 22. März 2021 um 14:14 Uhr schrieb Sanel Zukan <[email-masked]>:
>>>> 
>>>> Hi guys,
>>>> 
>>>> I'm getting this [1] error from freshly compiled Emacs 26.3 and
>>>> vterm-module.
>>>> 
>>>> Also, emacs-eject [2] and very simple module [3] fails on 26.3 with the
>>>> similar error. However, they are working fine on 27.1.
>>>> 
>>>> Any idea what could go wrong? I also tried to run bare Emacs with
>>>> 'emacs -Q'. In the all cases, Emacs is compiled with modules support.
>>>> 
>>>> [1] https://github.com/akermu/emacs-libvterm/issues/181
>>>> [2] https://github.com/syohex/emacs-eject
>>>> [3] http://diobla.info/blog-archive/modules-tut.html
>>>> 
>>> 
>>> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30164 is probably at
>>> least part of the answer.
>>> However, loading modules in general should still work, even in Emacs
>>> 26. Do you also get errors when loading the module file directly with
>>> `load' instead of `require'?