* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
@ 2018-01-14 6:36 Jean Louis
2018-01-14 16:08 ` Eli Zaretskii
0 siblings, 1 reply; 45+ messages in thread
From: Jean Louis @ 2018-01-14 6:36 UTC (permalink / raw)
To: 30106
Hello,
I cannot compile the development version so that
dynamic modules work.
When making: make test, I can see this error:
GEN src/editfns-tests.log
ELC src/emacs-module-tests.elc
In toplevel form:
src/emacs-module-tests.el:32:1:Error: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
make[3]: *** [Makefile:146: src/emacs-module-tests.elc] Error 1
make[3]: Target 'src/emacs-module-tests.log' not
remade because of errors.
And if try to load module pq (new one from
Github), I get errors like:
Debugger entered--Lisp error: (error "Loading file /package/text/emacs-27.0.50/share/emacs/27.0.50/lisp/vc/vc-git.elc failed to provide feature ‘pq’")
require(pq)
eval((require 'pq) nil)
elisp--eval-last-sexp(nil)
eval-last-sexp(nil)
funcall-interactively(eval-last-sexp nil)
call-interactively(eval-last-sexp nil nil)
command-execute(eval-last-sexp)
If anybody can help me to make loading dynamic
modules with development version, let me know.
Jean
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-14 6:36 bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test' Jean Louis
@ 2018-01-14 16:08 ` Eli Zaretskii
2018-01-14 17:47 ` Jean Louis
0 siblings, 1 reply; 45+ messages in thread
From: Eli Zaretskii @ 2018-01-14 16:08 UTC (permalink / raw)
To: Jean Louis; +Cc: 30106
> Date: Sun, 14 Jan 2018 09:36:03 +0300
> From: Jean Louis <bugs@gnu.support>
>
> I cannot compile the development version so that
> dynamic modules work.
>
> When making: make test, I can see this error:
>
> GEN src/editfns-tests.log
> ELC src/emacs-module-tests.elc
>
> In toplevel form:
> src/emacs-module-tests.el:32:1:Error: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
> make[3]: *** [Makefile:146: src/emacs-module-tests.elc] Error 1
> make[3]: Target 'src/emacs-module-tests.log' not
> remade because of errors.
How did you configure and build Emacs? What were the commands you
used for that?
(FWIW, the emacs-module-tests test works for me with today's master
branch.)
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-14 16:08 ` Eli Zaretskii
@ 2018-01-14 17:47 ` Jean Louis
2018-01-14 19:44 ` Eli Zaretskii
0 siblings, 1 reply; 45+ messages in thread
From: Jean Louis @ 2018-01-14 17:47 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 30106
Dear Eli,
I appreciate your efforts.
On Sun, Jan 14, 2018 at 06:08:48PM +0200, Eli Zaretskii wrote:
> > Date: Sun, 14 Jan 2018 09:36:03 +0300
> > From: Jean Louis <bugs@gnu.support>
> >
> > I cannot compile the development version so that
> > dynamic modules work.
> >
> > When making: make test, I can see this error:
> >
> > GEN src/editfns-tests.log
> > ELC src/emacs-module-tests.elc
> >
> > In toplevel form:
> > src/emacs-module-tests.el:32:1:Error: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
> > make[3]: *** [Makefile:146: src/emacs-module-tests.elc] Error 1
> > make[3]: Target 'src/emacs-module-tests.log' not
> > remade because of errors.
>
> How did you configure and build Emacs? What were the commands you
> used for that?
>
> (FWIW, the emacs-module-tests test works for me with today's master
> branch.)
Here is how I did it:
./configure --prefix=/package/text/emacs-27.0.50/ --with-mailutils --without-imagemagick --without-pop --with-x-toolkit=lucid --with-modules
I really hope to find out what is wrong.
Jean
I
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-14 17:47 ` Jean Louis
@ 2018-01-14 19:44 ` Eli Zaretskii
2018-01-14 22:12 ` Jean Louis
0 siblings, 1 reply; 45+ messages in thread
From: Eli Zaretskii @ 2018-01-14 19:44 UTC (permalink / raw)
To: Jean Louis; +Cc: 30106
> Date: Sun, 14 Jan 2018 20:47:48 +0300
> From: Jean Louis <bugs@gnu.support>
> Cc: 30106@debbugs.gnu.org
>
> ./configure --prefix=/package/text/emacs-27.0.50/ --with-mailutils --without-imagemagick --without-pop --with-x-toolkit=lucid --with-modules
Does src/config.h have this line:
#define HAVE_MODULES 1
And does src/Makefile have this line:
MODULES_OBJ = dynlib.o emacs-module.o
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-14 19:44 ` Eli Zaretskii
@ 2018-01-14 22:12 ` Jean Louis
2018-01-15 13:14 ` Eli Zaretskii
0 siblings, 1 reply; 45+ messages in thread
From: Jean Louis @ 2018-01-14 22:12 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 30106, Jean Louis
On Sun, Jan 14, 2018 at 09:44:40PM +0200, Eli Zaretskii wrote:
> > Date: Sun, 14 Jan 2018 20:47:48 +0300
> > From: Jean Louis <bugs@gnu.support>
> > Cc: 30106@debbugs.gnu.org
> >
> > ./configure --prefix=/package/text/emacs-27.0.50/ --with-mailutils --without-imagemagick --without-pop --with-x-toolkit=lucid --with-modules
>
> Does src/config.h have this line:
>
> #define HAVE_MODULES 1
Output of grep MODULES src/config.h:
#define EMACS_CONFIG_FEATURES "XAW3D XPM JPEG TIFF GIF PNG RSVG SOUND GPM DBUS GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS LUCID X11 MODULES LCMS2"
#define HAVE_MODULES 1
#define MODULES_SUFFIX ".so"
> And does src/Makefile have this line:
>
> MODULES_OBJ = dynlib.o emacs-module.o
Output of grep MODULES Makefile:
LIBMODULES = -ldl
MODULES_OBJ = dynlib.o emacs-module.o
eval.o floatfns.o fns.o font.o print.o lread.o $(MODULES_OBJ) \
$(NOTIFY_LIBS) $(LIB_MATH) $(LIBZ) $(LIBMODULES) $(LIBSYSTEMD_LIBS) \
Jean
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-14 22:12 ` Jean Louis
@ 2018-01-15 13:14 ` Eli Zaretskii
2018-01-15 17:56 ` Glenn Morris
` (2 more replies)
0 siblings, 3 replies; 45+ messages in thread
From: Eli Zaretskii @ 2018-01-15 13:14 UTC (permalink / raw)
To: Jean Louis; +Cc: 30106
> Date: Mon, 15 Jan 2018 01:12:28 +0300
> From: Jean Louis <bugs@gnu.support>
> Cc: Jean Louis <bugs@gnu.support>, 30106@debbugs.gnu.org
>
> Output of grep MODULES src/config.h:
>
> #define EMACS_CONFIG_FEATURES "XAW3D XPM JPEG TIFF GIF PNG RSVG SOUND GPM DBUS GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS LUCID X11 MODULES LCMS2"
> #define HAVE_MODULES 1
> #define MODULES_SUFFIX ".so"
>
> > And does src/Makefile have this line:
> >
> > MODULES_OBJ = dynlib.o emacs-module.o
>
> Output of grep MODULES Makefile:
>
> LIBMODULES = -ldl
> MODULES_OBJ = dynlib.o emacs-module.o
> eval.o floatfns.o fns.o font.o print.o lread.o $(MODULES_OBJ) \
> $(NOTIFY_LIBS) $(LIB_MATH) $(LIBZ) $(LIBMODULES) $(LIBSYSTEMD_LIBS) \
This means your build does have support for modules.
Returning to the original error:
ELC src/emacs-module-tests.elc
In toplevel form:
src/emacs-module-tests.el:32:1:Error: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
line 32 of emacs-module-test.el is this:
(require 'mod-test mod-test-file)
So one problem could be that mod-test-file is somehow not calculated
correctly:
(eval-and-compile
(defconst mod-test-file
(substitute-in-file-name
"$EMACS_TEST_DIRECTORY/data/emacs-module/mod-test")
"File name of the module test file."))
So maybe EMACS_TEST_DIRECTORY is incorrect, you your Emacs tree
doesn't have the test/data/emacs-module/mod-test directory, or there's
no mod-test.so file in that directory?
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-15 13:14 ` Eli Zaretskii
@ 2018-01-15 17:56 ` Glenn Morris
2018-01-18 19:35 ` Philipp Stephani
2018-01-15 18:09 ` Jean Louis
2018-01-15 18:55 ` Jean Louis
2 siblings, 1 reply; 45+ messages in thread
From: Glenn Morris @ 2018-01-15 17:56 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 30106, Jean Louis
Eli Zaretskii wrote:
> src/emacs-module-tests.el:32:1:Error: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
>
> line 32 of emacs-module-test.el is this:
>
> (require 'mod-test mod-test-file)
>
> So one problem could be that mod-test-file is somehow not calculated
> correctly:
>
> (eval-and-compile
> (defconst mod-test-file
> (substitute-in-file-name
> "$EMACS_TEST_DIRECTORY/data/emacs-module/mod-test")
> "File name of the module test file."))
>
> So maybe EMACS_TEST_DIRECTORY is incorrect, you your Emacs tree
> doesn't have the test/data/emacs-module/mod-test directory, or there's
> no mod-test.so file in that directory?
But that would give a different error message.
It seems that Fmodule_load does not update load-history.
This is causing Frequire to report the wrong file names in its error
message, which is making it hard to diagnose the real problem.
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-15 13:14 ` Eli Zaretskii
2018-01-15 17:56 ` Glenn Morris
@ 2018-01-15 18:09 ` Jean Louis
2018-01-15 18:55 ` Jean Louis
2 siblings, 0 replies; 45+ messages in thread
From: Jean Louis @ 2018-01-15 18:09 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 30106
Dear Eli,
See below:
On Mon, Jan 15, 2018 at 03:14:57PM +0200, Eli Zaretskii wrote:
> > Output of grep MODULES src/config.h:
> >
> > #define EMACS_CONFIG_FEATURES "XAW3D XPM JPEG TIFF GIF PNG RSVG SOUND GPM DBUS GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS LUCID X11 MODULES LCMS2"
> > #define HAVE_MODULES 1
> > #define MODULES_SUFFIX ".so"
> >
> > > And does src/Makefile have this line:
> > >
> > > MODULES_OBJ = dynlib.o emacs-module.o
> >
> > Output of grep MODULES Makefile:
> >
> > LIBMODULES = -ldl
> > MODULES_OBJ = dynlib.o emacs-module.o
> > eval.o floatfns.o fns.o font.o print.o lread.o $(MODULES_OBJ) \
> > $(NOTIFY_LIBS) $(LIB_MATH) $(LIBZ) $(LIBMODULES) $(LIBSYSTEMD_LIBS) \
>
> This means your build does have support for modules.
>
> Returning to the original error:
>
> ELC src/emacs-module-tests.elc
On my side that file is located in:
/sources/emacs/test/src
> In toplevel form:
> src/emacs-module-tests.el:32:1:Error: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
>
> line 32 of emacs-module-test.el is this:
>
> (require 'mod-test mod-test-file)
That is same so here.
> So one problem could be that mod-test-file is somehow not calculated
> correctly:
>
> (eval-and-compile
> (defconst mod-test-file
> (substitute-in-file-name
> "$EMACS_TEST_DIRECTORY/data/emacs-module/mod-test")
> "File name of the module test file."))
>
> So maybe EMACS_TEST_DIRECTORY is incorrect, you your Emacs tree
> doesn't have the test/data/emacs-module/mod-test directory, or there's
> no mod-test.so file in that directory?
There exist no directory:
test/data/emacs-module/mod-test/
There is directory:
test/data/emacs-module/
inside of which are following files:
total 76
-rw-r--r-- 1 root root 9915 Jan 3 08:19 mod-test.c
-rwxr-xr-x 1 root root 62008 Jan 14 20:56 mod-test.so
Let me know if I can help anything more.
Jean
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-15 13:14 ` Eli Zaretskii
2018-01-15 17:56 ` Glenn Morris
2018-01-15 18:09 ` Jean Louis
@ 2018-01-15 18:55 ` Jean Louis
2018-01-15 20:15 ` Eli Zaretskii
2018-01-16 18:10 ` Eli Zaretskii
2 siblings, 2 replies; 45+ messages in thread
From: Jean Louis @ 2018-01-15 18:55 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 30106
On Mon, Jan 15, 2018 at 03:14:57PM +0200, Eli Zaretskii wrote:
> > Date: Mon, 15 Jan 2018 01:12:28 +0300
> > From: Jean Louis <bugs@gnu.support>
> > Cc: Jean Louis <bugs@gnu.support>, 30106@debbugs.gnu.org
> >
> > Output of grep MODULES src/config.h:
> >
> > #define EMACS_CONFIG_FEATURES "XAW3D XPM JPEG TIFF GIF PNG RSVG SOUND GPM DBUS GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS LUCID X11 MODULES LCMS2"
> > #define HAVE_MODULES 1
> > #define MODULES_SUFFIX ".so"
> >
> > > And does src/Makefile have this line:
> > >
> > > MODULES_OBJ = dynlib.o emacs-module.o
> >
> > Output of grep MODULES Makefile:
> >
> > LIBMODULES = -ldl
> > MODULES_OBJ = dynlib.o emacs-module.o
> > eval.o floatfns.o fns.o font.o print.o lread.o $(MODULES_OBJ) \
> > $(NOTIFY_LIBS) $(LIB_MATH) $(LIBZ) $(LIBMODULES) $(LIBSYSTEMD_LIBS) \
>
> This means your build does have support for modules.
>
> Returning to the original error:
>
> ELC src/emacs-module-tests.elc
>
> In toplevel form:
> src/emacs-module-tests.el:32:1:Error: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
>
> line 32 of emacs-module-test.el is this:
>
> (require 'mod-test mod-test-file)
>
> So one problem could be that mod-test-file is somehow not calculated
> correctly:
>
> (eval-and-compile
> (defconst mod-test-file
> (substitute-in-file-name
> "$EMACS_TEST_DIRECTORY/data/emacs-module/mod-test")
> "File name of the module test file."))
>
> So maybe EMACS_TEST_DIRECTORY is incorrect, you your Emacs tree
> doesn't have the test/data/emacs-module/mod-test directory, or there's
> no mod-test.so file in that directory?
I can see that 'make check' fails so:
ELC src/emacs-module-tests.elc
Emacs module assertion: Module function called from outside the current Lisp thread
/bin/sh: line 1: 6214 Aborted EMACSLOADPATH= LC_ALL=C EMACS_TEST_DIRECTORY=/sources/emacs/test "../src/emacs" --module-assertions -batch --no-site-file --no-site-lisp -L ":." -f batch-byte-compile src/emacs-module-tests.el
make[3]: *** [Makefile:146: src/emacs-module-tests.elc] Error 134
make[3]: Target 'src/emacs-module-tests.log' not remade because of errors.
GEN src/eval-tests.log
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-15 18:55 ` Jean Louis
@ 2018-01-15 20:15 ` Eli Zaretskii
2018-01-16 5:17 ` Jean Louis
2018-01-16 18:10 ` Eli Zaretskii
1 sibling, 1 reply; 45+ messages in thread
From: Eli Zaretskii @ 2018-01-15 20:15 UTC (permalink / raw)
To: Jean Louis; +Cc: 30106
> Date: Mon, 15 Jan 2018 21:55:33 +0300
> From: Jean Louis <bugs@gnu.support>
> Cc: 30106@debbugs.gnu.org
>
> I can see that 'make check' fails so:
>
> ELC src/emacs-module-tests.elc
> Emacs module assertion: Module function called from outside the current Lisp thread
> /bin/sh: line 1: 6214 Aborted EMACSLOADPATH= LC_ALL=C EMACS_TEST_DIRECTORY=/sources/emacs/test "../src/emacs" --module-assertions -batch --no-site-file --no-site-lisp -L ":." -f batch-byte-compile src/emacs-module-tests.el
> make[3]: *** [Makefile:146: src/emacs-module-tests.elc] Error 134
> make[3]: Target 'src/emacs-module-tests.log' not remade because of errors.
> GEN src/eval-tests.log
Was your Emacs built with threads? What OS is that?
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-15 20:15 ` Eli Zaretskii
@ 2018-01-16 5:17 ` Jean Louis
2018-01-16 18:06 ` Glenn Morris
0 siblings, 1 reply; 45+ messages in thread
From: Jean Louis @ 2018-01-16 5:17 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 30106
Hello,
On Mon, Jan 15, 2018 at 10:15:55PM +0200, Eli Zaretskii wrote:
> > Date: Mon, 15 Jan 2018 21:55:33 +0300
> > From: Jean Louis <bugs@gnu.support>
> > Cc: 30106@debbugs.gnu.org
> >
> > I can see that 'make check' fails so:
> >
> > ELC src/emacs-module-tests.elc
> > Emacs module assertion: Module function called from outside the current Lisp thread
> > /bin/sh: line 1: 6214 Aborted EMACSLOADPATH= LC_ALL=C EMACS_TEST_DIRECTORY=/sources/emacs/test "../src/emacs" --module-assertions -batch --no-site-file --no-site-lisp -L ":." -f batch-byte-compile src/emacs-module-tests.el
> > make[3]: *** [Makefile:146: src/emacs-module-tests.elc] Error 134
> > make[3]: Target 'src/emacs-module-tests.log' not remade because of errors.
> > GEN src/eval-tests.log
>
> Was your Emacs built with threads? What OS is that?
I tried building with this configuration:
./configure --prefix=/package/text/emacs
--with-modules --without-all --without-pop
--with-mailutils
and OS is just GNU with kernel Linux, I do not use
distributions, I am compiling from source.
I have tried --without-threads and it is not
working as well.
Jean
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-16 5:17 ` Jean Louis
@ 2018-01-16 18:06 ` Glenn Morris
2018-01-16 19:17 ` Jean Louis
0 siblings, 1 reply; 45+ messages in thread
From: Glenn Morris @ 2018-01-16 18:06 UTC (permalink / raw)
To: Jean Louis; +Cc: 30106
Jean Louis wrote:
>> ELC src/emacs-module-tests.elc
>>
>> In toplevel form:
>> src/emacs-module-tests.el:32:1:Error: Loading file
>> /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature
>> `mod-test'
>> make[3]: *** [Makefile:146: src/emacs-module-tests.elc] Error 1
[...]
>> > ELC src/emacs-module-tests.elc
>> > Emacs module assertion: Module function called from outside the
>> > current Lisp thread
>> > /bin/sh: line 1: 6214 Aborted EMACSLOADPATH= LC_ALL=C
>> > EMACS_TEST_DIRECTORY=/sources/emacs/test "../src/emacs"
>> > --module-assertions -batch --no-site-file --no-site-lisp -L ":."
>> > -f batch-byte-compile src/emacs-module-tests.el
So what's changed such that you now get a different error to the one
that is the subject of this report?
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-15 18:55 ` Jean Louis
2018-01-15 20:15 ` Eli Zaretskii
@ 2018-01-16 18:10 ` Eli Zaretskii
2018-01-16 19:18 ` Jean Louis
1 sibling, 1 reply; 45+ messages in thread
From: Eli Zaretskii @ 2018-01-16 18:10 UTC (permalink / raw)
To: Jean Louis; +Cc: 30106
> Date: Mon, 15 Jan 2018 21:55:33 +0300
> From: Jean Louis <bugs@gnu.support>
> Cc: 30106@debbugs.gnu.org
>
> I can see that 'make check' fails so:
>
> ELC src/emacs-module-tests.elc
> Emacs module assertion: Module function called from outside the current Lisp thread
> /bin/sh: line 1: 6214 Aborted EMACSLOADPATH= LC_ALL=C EMACS_TEST_DIRECTORY=/sources/emacs/test "../src/emacs" --module-assertions -batch --no-site-file --no-site-lisp -L ":." -f batch-byte-compile src/emacs-module-tests.el
Ah, that changes almost everything. The test fails here:
static void
module_assert_thread (void)
{
if (!module_assertions)
return;
if (!in_current_thread ())
module_abort ("Module function called from outside " <<<<<<<<<<<<<<<
"the current Lisp thread");
if (gc_in_progress)
module_abort ("Module function called during garbage collection");
}
And in_current_thread does this:
static bool
in_current_thread (void)
{
if (current_thread == NULL)
return false;
#ifdef HAVE_PTHREAD
return pthread_equal (pthread_self (), current_thread->thread_id);
#elif defined WINDOWSNT
return GetCurrentThreadId () == current_thread->thread_id;
#endif
}
So either current_thread is NULL in your case, or pthread_equal
returns false. Can you tell which one of these happens?
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-16 18:06 ` Glenn Morris
@ 2018-01-16 19:17 ` Jean Louis
0 siblings, 0 replies; 45+ messages in thread
From: Jean Louis @ 2018-01-16 19:17 UTC (permalink / raw)
To: Glenn Morris; +Cc: 30106
On Tue, Jan 16, 2018 at 01:06:32PM -0500, Glenn Morris wrote:
> Jean Louis wrote:
>
> >> ELC src/emacs-module-tests.elc
> >>
> >> In toplevel form:
> >> src/emacs-module-tests.el:32:1:Error: Loading file
> >> /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature
> >> `mod-test'
> >> make[3]: *** [Makefile:146: src/emacs-module-tests.elc] Error 1
> [...]
> >> > ELC src/emacs-module-tests.elc
> >> > Emacs module assertion: Module function called from outside the
> >> > current Lisp thread
> >> > /bin/sh: line 1: 6214 Aborted EMACSLOADPATH= LC_ALL=C
> >> > EMACS_TEST_DIRECTORY=/sources/emacs/test "../src/emacs"
> >> > --module-assertions -batch --no-site-file --no-site-lisp -L ":."
> >> > -f batch-byte-compile src/emacs-module-tests.el
>
> So what's changed such that you now get a different error to the one
> that is the subject of this report?
The original report relates to the fact that I
cannot do (require 'pq) for dynamic module in
question.
I have tried to "make check", and the message
above is the result of it.
Jean
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-16 18:10 ` Eli Zaretskii
@ 2018-01-16 19:18 ` Jean Louis
2018-01-17 15:36 ` Eli Zaretskii
0 siblings, 1 reply; 45+ messages in thread
From: Jean Louis @ 2018-01-16 19:18 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 30106
On Tue, Jan 16, 2018 at 08:10:49PM +0200, Eli Zaretskii wrote:
> > Date: Mon, 15 Jan 2018 21:55:33 +0300
> > From: Jean Louis <bugs@gnu.support>
> > Cc: 30106@debbugs.gnu.org
> >
> > I can see that 'make check' fails so:
> >
> > ELC src/emacs-module-tests.elc
> > Emacs module assertion: Module function called from outside the current Lisp thread
> > /bin/sh: line 1: 6214 Aborted EMACSLOADPATH= LC_ALL=C EMACS_TEST_DIRECTORY=/sources/emacs/test "../src/emacs" --module-assertions -batch --no-site-file --no-site-lisp -L ":." -f batch-byte-compile src/emacs-module-tests.el
>
> Ah, that changes almost everything. The test fails here:
>
> static void
> module_assert_thread (void)
> {
> if (!module_assertions)
> return;
> if (!in_current_thread ())
> module_abort ("Module function called from outside " <<<<<<<<<<<<<<<
> "the current Lisp thread");
> if (gc_in_progress)
> module_abort ("Module function called during garbage collection");
> }
>
> And in_current_thread does this:
>
> static bool
> in_current_thread (void)
> {
> if (current_thread == NULL)
> return false;
> #ifdef HAVE_PTHREAD
> return pthread_equal (pthread_self (), current_thread->thread_id);
> #elif defined WINDOWSNT
> return GetCurrentThreadId () == current_thread->thread_id;
> #endif
> }
>
> So either current_thread is NULL in your case, or pthread_equal
> returns false. Can you tell which one of these happens?
I cannot test it myself on my own. You may tell me
what to do, to test it.
Do I miss some software package?
Jean
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-16 19:18 ` Jean Louis
@ 2018-01-17 15:36 ` Eli Zaretskii
2018-01-17 17:03 ` Jean Louis
0 siblings, 1 reply; 45+ messages in thread
From: Eli Zaretskii @ 2018-01-17 15:36 UTC (permalink / raw)
To: Jean Louis; +Cc: 30106
> Date: Tue, 16 Jan 2018 22:18:55 +0300
> From: Jean Louis <bugs@gnu.support>
> Cc: 30106@debbugs.gnu.org
>
> > in_current_thread (void)
> > {
> > if (current_thread == NULL)
> > return false;
> > #ifdef HAVE_PTHREAD
> > return pthread_equal (pthread_self (), current_thread->thread_id);
> > #elif defined WINDOWSNT
> > return GetCurrentThreadId () == current_thread->thread_id;
> > #endif
> > }
> >
> > So either current_thread is NULL in your case, or pthread_equal
> > returns false. Can you tell which one of these happens?
>
> I cannot test it myself on my own. You may tell me
> what to do, to test it.
Apply the patch below, rebuild Emacs, rerun the test, and see if
there's the telltale "current_thread is NULL" message in the log.
> Do I miss some software package?
Not sure yet.
diff --git a/src/emacs-module.c b/src/emacs-module.c
index 00f0e86..333c583 100644
--- a/src/emacs-module.c
+++ b/src/emacs-module.c
@@ -804,7 +804,10 @@ static bool
in_current_thread (void)
{
if (current_thread == NULL)
+ {
+ fprintf (stderr, "current_thread is NULL\n");
return false;
+ }
#ifdef HAVE_PTHREAD
return pthread_equal (pthread_self (), current_thread->thread_id);
#elif defined WINDOWSNT
^ permalink raw reply related [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-17 15:36 ` Eli Zaretskii
@ 2018-01-17 17:03 ` Jean Louis
2018-01-17 18:25 ` Eli Zaretskii
2018-01-17 18:32 ` Andy Moreton
0 siblings, 2 replies; 45+ messages in thread
From: Jean Louis @ 2018-01-17 17:03 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 30106
[-- Attachment #1: Type: text/plain, Size: 1550 bytes --]
On Wed, Jan 17, 2018 at 05:36:45PM +0200, Eli Zaretskii wrote:
> > Date: Tue, 16 Jan 2018 22:18:55 +0300
> > From: Jean Louis <bugs@gnu.support>
> > Cc: 30106@debbugs.gnu.org
> >
> > > in_current_thread (void)
> > > {
> > > if (current_thread == NULL)
> > > return false;
> > > #ifdef HAVE_PTHREAD
> > > return pthread_equal (pthread_self (), current_thread->thread_id);
> > > #elif defined WINDOWSNT
> > > return GetCurrentThreadId () == current_thread->thread_id;
> > > #endif
> > > }
> > >
> > > So either current_thread is NULL in your case, or pthread_equal
> > > returns false. Can you tell which one of these happens?
> >
> > I cannot test it myself on my own. You may tell me
> > what to do, to test it.
>
> Apply the patch below, rebuild Emacs, rerun the test, and see if
> there's the telltale "current_thread is NULL"
> message in the log.
I have done that, I did not see during "make
check" the line "current_thread is NULL", and I am
attaching the output from "make check".
Jean
>
> > Do I miss some software package?
>
> Not sure yet.
>
> diff --git a/src/emacs-module.c b/src/emacs-module.c
> index 00f0e86..333c583 100644
> --- a/src/emacs-module.c
> +++ b/src/emacs-module.c
> @@ -804,7 +804,10 @@ static bool
> in_current_thread (void)
> {
> if (current_thread == NULL)
> + {
> + fprintf (stderr, "current_thread is NULL\n");
> return false;
> + }
> #ifdef HAVE_PTHREAD
> return pthread_equal (pthread_self (), current_thread->thread_id);
> #elif defined WINDOWSNT
[-- Attachment #2: check.log --]
[-- Type: text/plain, Size: 68524 bytes --]
nohup: ignoring input
make -C lib all
make[1]: Entering directory '/sources/emacs/lib'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/sources/emacs/lib'
make -C lib-src all
make[1]: Entering directory '/sources/emacs/lib-src'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/sources/emacs/lib-src'
make -C src VCSWITNESS='$(srcdir)/../.git/logs/HEAD' all
make[1]: Entering directory '/sources/emacs/src'
make -C ../admin/charsets all
make[2]: Entering directory '/sources/emacs/admin/charsets'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/sources/emacs/admin/charsets'
make -C ../admin/unidata charscript.el
make[2]: Entering directory '/sources/emacs/admin/unidata'
make[2]: Nothing to be done for 'charscript.el'.
make[2]: Leaving directory '/sources/emacs/admin/unidata'
make -C ../admin/unidata all EMACS="../../src/bootstrap-emacs"
make[2]: Entering directory '/sources/emacs/admin/unidata'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/sources/emacs/admin/unidata'
make -C ../admin/charsets cp51932.el
make[2]: Entering directory '/sources/emacs/admin/charsets'
make[2]: Nothing to be done for 'cp51932.el'.
make[2]: Leaving directory '/sources/emacs/admin/charsets'
make -C ../admin/charsets eucjp-ms.el
make[2]: Entering directory '/sources/emacs/admin/charsets'
make[2]: Nothing to be done for 'eucjp-ms.el'.
make[2]: Leaving directory '/sources/emacs/admin/charsets'
make[1]: Leaving directory '/sources/emacs/src'
make -C lisp all
make[1]: Entering directory '/sources/emacs/lisp'
make -C ../leim all EMACS="../src/emacs"
make[2]: Entering directory '/sources/emacs/leim'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/sources/emacs/leim'
make -C ../admin/grammars all EMACS="../../src/emacs"
make[2]: Entering directory '/sources/emacs/admin/grammars'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/sources/emacs/admin/grammars'
make[2]: Entering directory '/sources/emacs/lisp'
make[2]: Nothing to be done for 'compile-targets'.
make[2]: Leaving directory '/sources/emacs/lisp'
make[1]: Leaving directory '/sources/emacs/lisp'
make info-real info-dir
make[1]: Entering directory '/sources/emacs'
make -C doc/lispref info
make[2]: Entering directory '/sources/emacs/doc/lispref'
make[2]: Nothing to be done for 'info'.
make[2]: Leaving directory '/sources/emacs/doc/lispref'
make -C doc/lispintro info
make[2]: Entering directory '/sources/emacs/doc/lispintro'
make[2]: Nothing to be done for 'info'.
make[2]: Leaving directory '/sources/emacs/doc/lispintro'
make -C doc/emacs info
make[2]: Entering directory '/sources/emacs/doc/emacs'
make[2]: Nothing to be done for 'info'.
make[2]: Leaving directory '/sources/emacs/doc/emacs'
make -C doc/misc info
make[2]: Entering directory '/sources/emacs/doc/misc'
make[2]: Nothing to be done for 'info'.
make[2]: Leaving directory '/sources/emacs/doc/misc'
make[1]: Nothing to be done for 'info-dir'.
make[1]: Leaving directory '/sources/emacs'
make -C test check
make[1]: Entering directory '/sources/emacs/test'
rm -f *.tmp
make[2]: Entering directory '/sources/emacs/test'
make[3]: Entering directory '/sources/emacs/test'
GEN lib-src/emacsclient-tests.log
GEN lisp/abbrev-tests.log
GEN lisp/arc-mode-tests.log
GEN lisp/auth-source-pass-tests.log
GEN lisp/auth-source-tests.log
GEN lisp/autorevert-tests.log
GEN lisp/buff-menu-tests.log
GEN lisp/calc/calc-tests.log
GEN lisp/calendar/icalendar-tests.log
GEN lisp/calendar/parse-time-tests.log
GEN lisp/calendar/todo-mode-tests.log
GEN lisp/char-fold-tests.log
GEN lisp/color-tests.log
ELC lisp/comint-tests.elc
GEN lisp/comint-tests.log
GEN lisp/dabbrev-tests.log
GEN lisp/descr-text-tests.log
GEN lisp/dired-aux-tests.log
GEN lisp/dired-tests.log
GEN lisp/dired-x-tests.log
GEN lisp/dom-tests.log
GEN lisp/electric-tests.log
GEN lisp/emacs-lisp/benchmark-tests.log
ELC lisp/emacs-lisp/bytecomp-tests.elc
GEN lisp/emacs-lisp/bytecomp-tests.log
GEN lisp/emacs-lisp/checkdoc-tests.log
GEN lisp/emacs-lisp/cl-extra-tests.log
GEN lisp/emacs-lisp/cl-generic-tests.log
GEN lisp/emacs-lisp/cl-lib-tests.log
GEN lisp/emacs-lisp/cl-macs-tests.log
GEN lisp/emacs-lisp/cl-print-tests.log
GEN lisp/emacs-lisp/cl-seq-tests.log
GEN lisp/emacs-lisp/derived-tests.log
GEN lisp/emacs-lisp/edebug-tests.log
ELC lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.elc
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
In toplevel form:
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:97:4:Warning:
`call-next-method' is an obsolete function (as of 25.1); use
`cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:101:4:Warning:
`call-next-method' is an obsolete function (as of 25.1); use
`cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:105:10:Warning:
`next-method-p' is an obsolete function (as of 25.1); use
`cl-next-method-p' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:106:6:Warning:
`call-next-method' is an obsolete function (as of 25.1); use
`cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:179:8:Warning:
`next-method-p' is an obsolete function (as of 25.1); use
`cl-next-method-p' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:179:24:Warning:
`call-next-method' is an obsolete function (as of 25.1); use
`cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:184:8:Warning:
`next-method-p' is an obsolete function (as of 25.1); use
`cl-next-method-p' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:184:24:Warning:
`call-next-method' is an obsolete function (as of 25.1); use
`cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:219:4:Warning:
`call-next-method' is an obsolete function (as of 25.1); use
`cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:231:4:Warning:
`call-next-method' is an obsolete function (as of 25.1); use
`cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:236:10:Warning:
`next-method-p' is an obsolete function (as of 25.1); use
`cl-next-method-p' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:237:6:Warning:
`call-next-method' is an obsolete function (as of 25.1); use
`cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:261:4:Warning:
`call-next-method' is an obsolete function (as of 25.1); use
`cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:271:4:Warning:
`call-next-method' is an obsolete function (as of 25.1); use
`cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:275:10:Warning:
`next-method-p' is an obsolete function (as of 25.1); use
`cl-next-method-p' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:276:6:Warning:
`call-next-method' is an obsolete function (as of 25.1); use
`cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:299:10:Warning:
`next-method-p' is an obsolete function (as of 25.1); use
`cl-next-method-p' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:300:6:Warning:
`call-next-method' is an obsolete function (as of 25.1); use
`cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:310:10:Warning:
`next-method-p' is an obsolete function (as of 25.1); use
`cl-next-method-p' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:311:6:Warning:
`call-next-method' is an obsolete function (as of 25.1); use
`cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:323:10:Warning:
`next-method-p' is an obsolete function (as of 25.1); use
`cl-next-method-p' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:324:6:Warning:
`call-next-method' is an obsolete function (as of 25.1); use
`cl-call-next-method' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:328:14:Warning:
Obsolete name arg "test" to constructor eitest-Jd
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:349:10:Warning:
`next-method-p' is an obsolete function (as of 25.1); use
`cl-next-method-p' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:350:6:Warning:
`call-next-method' is an obsolete function (as of 25.1); use
`cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:356:10:Warning:
`next-method-p' is an obsolete function (as of 25.1); use
`cl-next-method-p' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:357:6:Warning:
`call-next-method' is an obsolete function (as of 25.1); use
`cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:363:10:Warning:
`next-method-p' is an obsolete function (as of 25.1); use
`cl-next-method-p' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:364:6:Warning:
`call-next-method' is an obsolete function (as of 25.1); use
`cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:369:10:Warning:
`next-method-p' is an obsolete function (as of 25.1); use
`cl-next-method-p' instead.
lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:370:6:Warning:
`call-next-method' is an obsolete function (as of 25.1); use
`cl-call-next-method' instead.
Obsolete name arg "" to constructor CNM-2
GEN lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.log
GEN lisp/emacs-lisp/eieio-tests/eieio-test-persist.log
ELC lisp/emacs-lisp/eieio-tests/eieio-tests.elc
Class allocated slots do not need :initarg
Class allocated slots do not need :initarg
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
In toplevel form:
lisp/emacs-lisp/eieio-tests/eieio-tests.el:169:18:Warning: `defgeneric' is an
obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-tests.el:246:4:Warning: `call-next-method'
is an obsolete function (as of 25.1); use `cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-tests.el:291:4:Warning: `call-next-method'
is an obsolete function (as of 25.1); use `cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-tests.el:300:4:Warning: `call-next-method'
is an obsolete function (as of 25.1); use `cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-tests.el:355:6:Warning: `call-next-method'
is an obsolete function (as of 25.1); use `cl-call-next-method' instead.
lisp/emacs-lisp/eieio-tests/eieio-tests.el:353:36:Warning: `call-next-method'
is an obsolete function (as of 25.1); use `cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-tests.el:376:12:Warning: Unknown slot
`ooga-booga'
lisp/emacs-lisp/eieio-tests/eieio-tests.el:376:44:Warning: Unknown slot
`ooga-booga'
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-tests.el:404:8:Warning: `call-next-method'
is an obsolete function (as of 25.1); use `cl-call-next-method' instead.
lisp/emacs-lisp/eieio-tests/eieio-tests.el:418:12:Warning: Unknown slot
`:derived-value'
lisp/emacs-lisp/eieio-tests/eieio-tests.el:424:20:Warning: Unknown slot
`:derived-value'
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-tests.el:455:6:Warning: `call-next-method'
is an obsolete function (as of 25.1); use `cl-call-next-method' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
Obsolete name arg "II Test." to constructor II
Class allocated slots do not need :initarg
lisp/emacs-lisp/eieio-tests/eieio-tests.el:875:40:Warning: Unknown slot
`missing-slot'
`defmethod' is an obsolete macro (as of 25.1); use `cl-defmethod' instead.
`defgeneric' is an obsolete macro (as of 25.1); use `cl-defgeneric' instead.
lisp/emacs-lisp/eieio-tests/eieio-tests.el:916:16:Warning: Obsolete name arg
"toto" to constructor eieio--testing
In end of data:
lisp/emacs-lisp/eieio-tests/eieio-tests.el:928:1:Warning: the following
functions are not known to be defined: class-alloc-initarg--eieio-childp,
static-method-class-2--eieio-childp, static-method-class-2,
eitest-subordinate--eieio-childp, eitest-superior--eieio-childp,
eitest-superior
GEN lisp/emacs-lisp/eieio-tests/eieio-tests.log
GEN lisp/emacs-lisp/ert-tests.log
GEN lisp/emacs-lisp/ert-x-tests.log
GEN lisp/emacs-lisp/faceup-tests/faceup-test-basics.log
GEN lisp/emacs-lisp/faceup-tests/faceup-test-files.log
GEN lisp/emacs-lisp/generator-tests.log
ELC lisp/emacs-lisp/gv-tests.elc
GEN lisp/emacs-lisp/gv-tests.log
GEN lisp/emacs-lisp/let-alist-tests.log
GEN lisp/emacs-lisp/lisp-mode-tests.log
GEN lisp/emacs-lisp/lisp-tests.log
GEN lisp/emacs-lisp/map-tests.log
ELC lisp/emacs-lisp/nadvice-tests.elc
GEN lisp/emacs-lisp/nadvice-tests.log
GEN lisp/emacs-lisp/package-tests.log
ELC lisp/emacs-lisp/pcase-tests.elc
GEN lisp/emacs-lisp/pcase-tests.log
GEN lisp/emacs-lisp/pp-tests.log
GEN lisp/emacs-lisp/regexp-opt-tests.log
GEN lisp/emacs-lisp/ring-tests.log
GEN lisp/emacs-lisp/rmc-tests.log
GEN lisp/emacs-lisp/rx-tests.log
GEN lisp/emacs-lisp/seq-tests.log
GEN lisp/emacs-lisp/subr-x-tests.log
GEN lisp/emacs-lisp/tabulated-list-test.log
GEN lisp/emacs-lisp/testcover-tests.log
GEN lisp/emacs-lisp/thunk-tests.log
GEN lisp/emacs-lisp/timer-tests.log
GEN lisp/emulation/viper-tests.log
GEN lisp/epg-tests.log
GEN lisp/erc/erc-track-tests.log
GEN lisp/eshell/em-hist-tests.log
GEN lisp/eshell/em-ls-tests.log
GEN lisp/eshell/eshell-tests.log
GEN lisp/faces-tests.log
GEN lisp/ffap-tests.log
ELC lisp/filenotify-tests.elc
GEN lisp/filenotify-tests.log
GEN lisp/files-tests.log
GEN lisp/files-x-tests.log
GEN lisp/gnus/gnus-tests.log
GEN lisp/gnus/message-tests.log
GEN lisp/help-fns-tests.log
GEN lisp/hi-lock-tests.log
GEN lisp/htmlfontify-tests.log
GEN lisp/ibuffer-tests.log
GEN lisp/ido-tests.log
GEN lisp/imenu-tests.log
GEN lisp/info-xref-tests.log
GEN lisp/international/mule-tests.log
GEN lisp/international/mule-util-tests.log
GEN lisp/international/ucs-normalize-tests.log
GEN lisp/isearch-tests.log
GEN lisp/jit-lock-tests.log
GEN lisp/json-tests.log
GEN lisp/kmacro-tests.log
GEN lisp/ls-lisp-tests.log
GEN lisp/mail/rmail-tests.log
GEN lisp/man-tests.log
GEN lisp/md4-tests.log
GEN lisp/minibuffer-tests.log
GEN lisp/mouse-tests.log
GEN lisp/net/dbus-tests.log
GEN lisp/net/gnutls-tests.log
GEN lisp/net/mailcap-tests.log
GEN lisp/net/network-stream-tests.log
GEN lisp/net/newsticker-tests.log
GEN lisp/net/puny-tests.log
GEN lisp/net/sasl-scram-rfc-tests.log
GEN lisp/net/shr-tests.log
GEN lisp/net/tramp-archive-tests.log
GEN lisp/net/tramp-tests.log
GEN lisp/obarray-tests.log
GEN lisp/progmodes/bat-mode-tests.log
GEN lisp/progmodes/cc-mode-tests.log
GEN lisp/progmodes/compile-tests.log
GEN lisp/progmodes/elisp-mode-tests.log
GEN lisp/progmodes/etags-tests.log
GEN lisp/progmodes/f90-tests.log
GEN lisp/progmodes/flymake-tests.log
GEN lisp/progmodes/js-tests.log
GEN lisp/progmodes/python-tests.log
GEN lisp/progmodes/ruby-mode-tests.log
GEN lisp/progmodes/sql-tests.log
GEN lisp/progmodes/subword-tests.log
GEN lisp/progmodes/xref-tests.log
GEN lisp/ps-print-tests.log
GEN lisp/register-tests.log
GEN lisp/replace-tests.log
GEN lisp/rot13-tests.log
GEN lisp/ses-tests.log
GEN lisp/shell-tests.log
GEN lisp/simple-tests.log
GEN lisp/sort-tests.log
GEN lisp/soundex-tests.log
GEN lisp/subr-tests.log
GEN lisp/tar-mode-tests.log
GEN lisp/textmodes/css-mode-tests.log
GEN lisp/textmodes/dns-mode-tests.log
GEN lisp/textmodes/mhtml-mode-tests.log
GEN lisp/textmodes/reftex-tests.log
GEN lisp/textmodes/sgml-mode-tests.log
GEN lisp/textmodes/tildify-tests.log
GEN lisp/thingatpt-tests.log
GEN lisp/url/url-auth-tests.log
GEN lisp/url/url-expand-tests.log
GEN lisp/url/url-future-tests.log
GEN lisp/url/url-parse-tests.log
GEN lisp/url/url-tramp-tests.log
GEN lisp/url/url-util-tests.log
GEN lisp/vc/add-log-tests.log
GEN lisp/vc/diff-mode-tests.log
GEN lisp/vc/ediff-diff-tests.log
GEN lisp/vc/ediff-ptch-tests.log
GEN lisp/vc/smerge-mode-tests.log
GEN lisp/vc/vc-bzr-tests.log
Running 3 tests (2018-01-17 17:54:54+0100)
Test vc-bzr-test-bug9726 backtrace:
signal(error ("No VC backend is responsible for /tmp/vc-bzr-testvLXk
error("No VC backend is responsible for %s" "/tmp/vc-bzr-testvLXkL6/
vc-responsible-backend("/tmp/vc-bzr-testvLXkL6/bzr/ignored-dir")
vc-dir("/tmp/vc-bzr-testvLXkL6/bzr/ignored-dir")
(progn (make-directory ignored-dir) (let ((temp-buffer (generate-new
(unwind-protect (progn (make-directory ignored-dir) (let ((temp-buff
(let* ((homedir (make-temp-file "vc-bzr-test" t)) (bzrdir (expand-fi
(lambda nil (let* ((fn-0 (function executable-find)) (args-1 (condit
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name vc-bzr-test-bug9726 :documentation "T
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/vc/vc-bzr-tests.el"
command-line()
normal-top-level()
Test vc-bzr-test-bug9726 condition:
(error "No VC backend is responsible for /tmp/vc-bzr-testvLXkL6/bzr/ignored-dir")
FAILED 1/3 vc-bzr-test-bug9726
Test vc-bzr-test-bug9781 backtrace:
signal(error ("No VC backend is responsible for /tmp/vc-bzr-testp9QA
error("No VC backend is responsible for %s" "/tmp/vc-bzr-testp9QA97/
vc-responsible-backend("/tmp/vc-bzr-testp9QA97/bzr")
vc-dir("/tmp/vc-bzr-testp9QA97/bzr")
(progn (call-process vc-bzr-program nil nil nil "init") (make-direct
(unwind-protect (progn (call-process vc-bzr-program nil nil nil "ini
(let* ((homedir (make-temp-file "vc-bzr-test" t)) (bzrdir (expand-fi
(lambda nil (let* ((fn-10 (function executable-find)) (args-11 (cond
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name vc-bzr-test-bug9781 :documentation "T
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/vc/vc-bzr-tests.el"
command-line()
normal-top-level()
Test vc-bzr-test-bug9781 condition:
(error "No VC backend is responsible for /tmp/vc-bzr-testp9QA97/bzr")
FAILED 2/3 vc-bzr-test-bug9781
passed 3/3 vc-bzr-test-faulty-bzr-autoloads
Ran 3 tests, 1 results as expected, 2 unexpected (2018-01-17 17:54:55+0100)
2 unexpected results:
FAILED vc-bzr-test-bug9726
FAILED vc-bzr-test-bug9781
make[3]: *** [Makefile:166: lisp/vc/vc-bzr-tests.log] Error 1
GEN lisp/vc/vc-hg-tests.log
GEN lisp/vc/vc-tests.log
Running 20 tests (2018-01-17 17:54:55+0100)
Test vc-test-bzr00-create-repo backtrace:
signal(error ("Running bzr init ....FAILED (status 1)"))
error("Running %s...FAILED (%s)" "bzr init ." "status 1")
vc-do-command("*vc*" 0 "bzr" nil "init")
apply(vc-do-command "*vc*" 0 "bzr" nil "init" nil)
vc-bzr-command("init" nil 0 nil)
vc-bzr-create-repo()
apply(vc-bzr-create-repo nil)
vc-call-backend(Bzr create-repo)
vc-create-repo(Bzr)
(cond ((eq backend 'CVS) (let ((tmp-dir (expand-file-name (make-temp
vc-test--create-repo-function(Bzr)
(progn (add-hook 'vc-test--cleanup-hook (list 'lambda nil (cons 'del
(unwind-protect (progn (add-hook 'vc-test--cleanup-hook (list 'lambd
(let ((vc-handled-backends (list backend)) (default-directory (file-
vc-test--create-repo(Bzr)
(lambda nil (vc-test--create-repo 'Bzr))()
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name vc-test-bzr00-create-repo :documentat
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/vc/vc-tests.el" "--e
command-line()
normal-top-level()
Test vc-test-bzr00-create-repo condition:
(error "Running bzr init ....FAILED (status 1)")
FAILED 1/20 vc-test-bzr00-create-repo
skipped 2/20 vc-test-bzr01-register
skipped 3/20 vc-test-bzr02-state
skipped 4/20 vc-test-bzr03-working-revision
skipped 5/20 vc-test-bzr04-checkout-model
Test vc-test-cvs00-create-repo backtrace:
rename-file("module/CVS" "/tmp/vc-testR6RH3f/")
(let ((tmp-dir (expand-file-name (make-temp-name "vc-test") temporar
(cond ((eq backend 'CVS) (let ((tmp-dir (expand-file-name (make-temp
vc-test--create-repo-function(CVS)
(progn (add-hook 'vc-test--cleanup-hook (list 'lambda nil (cons 'del
(unwind-protect (progn (add-hook 'vc-test--cleanup-hook (list 'lambd
(let ((vc-handled-backends (list backend)) (default-directory (file-
vc-test--create-repo(CVS)
(lambda nil (vc-test--create-repo 'CVS))()
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name vc-test-cvs00-create-repo :documentat
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/vc/vc-tests.el" "--e
command-line()
normal-top-level()
Test vc-test-cvs00-create-repo condition:
(file-missing "Renaming" "No such file or directory" "/tmp/vc-testR6RH3f/module/CVS" "/tmp/vc-testR6RH3f/CVS")
FAILED 6/20 vc-test-cvs00-create-repo
skipped 7/20 vc-test-cvs01-register
skipped 8/20 vc-test-cvs02-state
skipped 9/20 vc-test-cvs03-working-revision
skipped 10/20 vc-test-cvs04-checkout-model
passed 11/20 vc-test-git00-create-repo
Registering (/tmp/vc-testYZB7BT/foo bla)...
Registering (/tmp/vc-testYZB7BT/foo bla)... done
passed 12/20 vc-test-git01-register
vc-state2 nil
vc-state3 Git unregistered
Registering (foo)...
Registering (foo)... done
vc-state4 added
vc-state5 Git unregistered
passed 13/20 vc-test-git02-state
vc-working-revision1 nil
vc-working-revision2 nil
vc-working-revision3 nil
Registering (foo)...
Registering (foo)... done
vc-working-revision4 nil
vc-working-revision5 nil
passed 14/20 vc-test-git03-working-revision
vc-checkout-model1 implicit
vc-checkout-model2 implicit
vc-checkout-model3 implicit
Registering (foo)...
Registering (foo)... done
vc-checkout-model4 implicit
vc-checkout-model5 implicit
passed 15/20 vc-test-git04-checkout-model
passed 16/20 vc-test-hg00-create-repo
Registering (/tmp/vc-testbjakLV/foo bla)...
Registering (/tmp/vc-testbjakLV/foo bla)... done
passed 17/20 vc-test-hg01-register
vc-state2 nil
vc-state3 Hg unregistered
Registering (foo)...
Registering (foo)... done
vc-state4 added
vc-state5 Hg unregistered
passed 18/20 vc-test-hg02-state
vc-working-revision1 nil
vc-working-revision2 nil
vc-working-revision3 nil
Registering (foo)...
Registering (foo)... done
vc-working-revision4 0
vc-working-revision5 nil
passed 19/20 vc-test-hg03-working-revision
vc-checkout-model1 implicit
vc-checkout-model2 implicit
vc-checkout-model3 implicit
Registering (foo)...
Registering (foo)... done
vc-checkout-model4 implicit
vc-checkout-model5 implicit
passed 20/20 vc-test-hg04-checkout-model
Ran 20 tests, 10 results as expected, 2 unexpected, 8 skipped (2018-01-17 17:54:58+0100)
2 unexpected results:
FAILED vc-test-bzr00-create-repo
FAILED vc-test-cvs00-create-repo
8 skipped results:
SKIPPED vc-test-bzr01-register
SKIPPED vc-test-bzr02-state
SKIPPED vc-test-bzr03-working-revision
SKIPPED vc-test-bzr04-checkout-model
SKIPPED vc-test-cvs01-register
SKIPPED vc-test-cvs02-state
SKIPPED vc-test-cvs03-working-revision
SKIPPED vc-test-cvs04-checkout-model
make[3]: *** [Makefile:166: lisp/vc/vc-tests.log] Error 1
GEN lisp/whitespace-tests.log
GEN lisp/xdg-tests.log
ELC lisp/xml-tests.elc
GEN lisp/xml-tests.log
GEN lisp/xt-mouse-tests.log
GEN src/alloc-tests.log
GEN src/buffer-tests.log
GEN src/callproc-tests.log
GEN src/casefiddle-tests.log
GEN src/charset-tests.log
GEN src/chartab-tests.log
GEN src/cmds-tests.log
GEN src/coding-tests.log
GEN src/data-tests.log
GEN src/decompress-tests.log
GEN src/doc-tests.log
GEN src/editfns-tests.log
CCLD data/emacs-module/mod-test.so
ELC src/emacs-module-tests.elc
Emacs module assertion: Module function called from outside the current Lisp thread
/bin/sh: line 1: 24340 Aborted EMACSLOADPATH= LC_ALL=C EMACS_TEST_DIRECTORY=/sources/emacs/test "../src/emacs" --module-assertions -batch --no-site-file --no-site-lisp -L ":." -f batch-byte-compile src/emacs-module-tests.el
make[3]: *** [Makefile:147: src/emacs-module-tests.elc] Error 134
make[3]: Target 'src/emacs-module-tests.log' not remade because of errors.
GEN src/eval-tests.log
GEN src/fileio-tests.log
GEN src/floatfns-tests.log
GEN src/fns-tests.log
ELC src/font-tests.elc
GEN src/font-tests.log
GEN src/inotify-tests.log
GEN src/json-tests.log
GEN src/keyboard-tests.log
Running 1 tests (2018-01-17 17:55:00+0100)
make[3]: *** [Makefile:166: src/keyboard-tests.log] Error 1
GEN src/keymap-tests.log
GEN src/lcms-tests.log
GEN src/lread-tests.log
GEN src/marker-tests.log
GEN src/minibuf-tests.log
GEN src/print-tests.log
ELC src/process-tests.elc
GEN src/process-tests.log
GEN src/regex-tests.log
GEN src/syntax-tests.log
GEN src/textprop-tests.log
GEN src/thread-tests.log
Running 28 tests (2018-01-17 17:55:02+0100)
Test thread-errors backtrace:
(make-thread (function call-error) "call-error")
(setq th1 (make-thread (function call-error) "call-error"))
(let (th1 th2) (setq th1 (make-thread (function call-error) "call-er
(lambda nil (let (th1 th2) (setq th1 (make-thread (function call-err
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name thread-errors :documentation "Test wh
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test thread-errors condition:
(void-function make-thread)
FAILED 1/28 thread-errors
Test thread-signal-early backtrace:
(make-thread (function (lambda nil (while t (thread-yield)))))
(let ((thread (make-thread (function (lambda nil (while t (thread-yi
(lambda nil (let ((thread (make-thread (function (lambda nil (while
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name thread-signal-early :documentation "T
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test thread-signal-early condition:
(void-function make-thread)
FAILED 2/28 thread-signal-early
passed 3/28 thread-sticky-point
Test threads-alive backtrace:
signal(void-function (make-thread))
apply(signal (void-function (make-thread)))
(setq value-22 (apply fn-20 args-21))
(unwind-protect (setq value-22 (apply fn-20 args-21)) (setq form-des
(if (unwind-protect (setq value-22 (apply fn-20 args-21)) (setq form
(let (form-description-24) (if (unwind-protect (setq value-22 (apply
(let ((value-22 'ert-form-evaluation-aborted-23)) (let (form-descrip
(let* ((fn-20 (function thread-alive-p)) (args-21 (condition-case er
(lambda nil (let* ((fn-20 (function thread-alive-p)) (args-21 (condi
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-alive :documentation "test fo
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-alive condition:
(void-function make-thread)
FAILED 4/28 threads-alive
Test threads-all-threads backtrace:
signal(void-function (all-threads))
apply(signal (void-function (all-threads)))
(setq value-27 (apply fn-25 args-26))
(unwind-protect (setq value-27 (apply fn-25 args-26)) (setq form-des
(if (unwind-protect (setq value-27 (apply fn-25 args-26)) (setq form
(let (form-description-29) (if (unwind-protect (setq value-27 (apply
(let ((value-27 'ert-form-evaluation-aborted-28)) (let (form-descrip
(let* ((fn-25 (function listp)) (args-26 (condition-case err (let ((
(lambda nil (let* ((fn-25 (function listp)) (args-26 (condition-case
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-all-threads :documentation "s
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-all-threads condition:
(void-function all-threads)
FAILED 5/28 threads-all-threads
Test threads-basic backtrace:
(make-thread (function threads-test-thread1))
(progn (setq threads-test-global nil) (make-thread (function threads
(setq value-30 (progn (setq threads-test-global nil) (make-thread (f
(unwind-protect (setq value-30 (progn (setq threads-test-global nil)
(if (unwind-protect (setq value-30 (progn (setq threads-test-global
(let (form-description-31) (if (unwind-protect (setq value-30 (progn
(let ((value-30 (gensym "ert-form-evaluation-aborted-"))) (let (form
(lambda nil (let ((value-30 (gensym "ert-form-evaluation-aborted-"))
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-basic :documentation "basic t
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-basic condition:
(void-function make-thread)
FAILED 6/28 threads-basic
Test threads-condvar-mutex backtrace:
(make-mutex)
(let ((m (make-mutex))) (eq m (condition-mutex (make-condition-varia
(setq value-83 (let ((m (make-mutex))) (eq m (condition-mutex (make-
(unwind-protect (setq value-83 (let ((m (make-mutex))) (eq m (condit
(if (unwind-protect (setq value-83 (let ((m (make-mutex))) (eq m (co
(let (form-description-84) (if (unwind-protect (setq value-83 (let (
(let ((value-83 (gensym "ert-form-evaluation-aborted-"))) (let (form
(lambda nil (let ((value-83 (gensym "ert-form-evaluation-aborted-"))
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-condvar-mutex :documentation
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-condvar-mutex condition:
(void-function make-mutex)
FAILED 7/28 threads-condvar-mutex
Test threads-condvar-name backtrace:
signal(void-function (condition-name))
apply(signal (void-function (condition-name)))
(setq value-87 (apply fn-85 args-86))
(unwind-protect (setq value-87 (apply fn-85 args-86)) (setq form-des
(if (unwind-protect (setq value-87 (apply fn-85 args-86)) (setq form
(let (form-description-89) (if (unwind-protect (setq value-87 (apply
(let ((value-87 'ert-form-evaluation-aborted-88)) (let (form-descrip
(let* ((fn-85 (function eq)) (args-86 (condition-case err (let ((sig
(lambda nil (let* ((fn-85 (function eq)) (args-86 (condition-case er
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-condvar-name :documentation "
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-condvar-name condition:
(void-function condition-name)
FAILED 8/28 threads-condvar-name
Test threads-condvar-name-2 backtrace:
signal(void-function (condition-name))
apply(signal (void-function (condition-name)))
(setq value-92 (apply fn-90 args-91))
(unwind-protect (setq value-92 (apply fn-90 args-91)) (setq form-des
(if (unwind-protect (setq value-92 (apply fn-90 args-91)) (setq form
(let (form-description-94) (if (unwind-protect (setq value-92 (apply
(let ((value-92 'ert-form-evaluation-aborted-93)) (let (form-descrip
(let* ((fn-90 (function string=)) (args-91 (condition-case err (let
(lambda nil (let* ((fn-90 (function string=)) (args-91 (condition-ca
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-condvar-name-2 :documentation
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-condvar-name-2 condition:
(void-function condition-name)
FAILED 9/28 threads-condvar-name-2
Test threads-condvar-type backtrace:
signal(void-function (make-condition-variable))
apply(signal (void-function (make-condition-variable)))
(setq value-80 (apply fn-78 args-79))
(unwind-protect (setq value-80 (apply fn-78 args-79)) (setq form-des
(if (unwind-protect (setq value-80 (apply fn-78 args-79)) (setq form
(let (form-description-82) (if (unwind-protect (setq value-80 (apply
(let ((value-80 'ert-form-evaluation-aborted-81)) (let (form-descrip
(let* ((fn-78 (function eq)) (args-79 (condition-case err (let ((sig
(lambda nil (let* ((fn-78 (function eq)) (args-79 (condition-case er
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-condvar-type :documentation "
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-condvar-type condition:
(void-function make-condition-variable)
FAILED 10/28 threads-condvar-type
Test threads-condvar-wait backtrace:
(make-mutex)
(let ((cv-mutex (make-mutex)) new-thread) (while (> (length (all-thr
(lambda nil (let ((cv-mutex (make-mutex)) new-thread) (while (> (len
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-condvar-wait :documentation "
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-condvar-wait condition:
(void-function make-mutex)
FAILED 11/28 threads-condvar-wait
passed 12/28 threads-condvarp
Test threads-condvarp-2 backtrace:
signal(void-function (make-condition-variable))
apply(signal (void-function (make-condition-variable)))
(setq value-75 (apply fn-73 args-74))
(unwind-protect (setq value-75 (apply fn-73 args-74)) (setq form-des
(if (unwind-protect (setq value-75 (apply fn-73 args-74)) (setq form
(let (form-description-77) (if (unwind-protect (setq value-75 (apply
(let ((value-75 'ert-form-evaluation-aborted-76)) (let (form-descrip
(let* ((fn-73 (function condition-variable-p)) (args-74 (condition-c
(lambda nil (let* ((fn-73 (function condition-variable-p)) (args-74
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-condvarp-2 :documentation "an
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-condvarp-2 condition:
(void-function make-condition-variable)
FAILED 13/28 threads-condvarp-2
Test threads-io-switch backtrace:
(make-thread (function threads-test-io-switch))
(progn (setq threads-test-global nil) (make-thread (function threads
(setq value-66 (progn (setq threads-test-global nil) (make-thread (f
(unwind-protect (setq value-66 (progn (setq threads-test-global nil)
(if (unwind-protect (setq value-66 (progn (setq threads-test-global
(let (form-description-67) (if (unwind-protect (setq value-66 (progn
(let ((value-66 (gensym "ert-form-evaluation-aborted-"))) (let (form
(lambda nil (let ((value-66 (gensym "ert-form-evaluation-aborted-"))
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-io-switch :documentation "tes
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-io-switch condition:
(void-function make-thread)
FAILED 14/28 threads-io-switch
Test threads-is-one backtrace:
current-thread()
apply(current-thread nil)
(setq value-2 (apply fn-0 args-1))
(unwind-protect (setq value-2 (apply fn-0 args-1)) (setq form-descri
(if (unwind-protect (setq value-2 (apply fn-0 args-1)) (setq form-de
(let (form-description-4) (if (unwind-protect (setq value-2 (apply f
(let ((value-2 'ert-form-evaluation-aborted-3)) (let (form-descripti
(let* ((fn-0 (function current-thread)) (args-1 (condition-case err
(lambda nil (let* ((fn-0 (function current-thread)) (args-1 (conditi
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-is-one :documentation "test f
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-is-one condition:
(void-function current-thread)
FAILED 15/28 threads-is-one
Test threads-join backtrace:
(make-thread (function threads-test-thread1))
(let ((thread (make-thread (function threads-test-thread1)))) (threa
(progn (setq threads-test-global nil) (let ((thread (make-thread (fu
(setq value-32 (progn (setq threads-test-global nil) (let ((thread (
(unwind-protect (setq value-32 (progn (setq threads-test-global nil)
(if (unwind-protect (setq value-32 (progn (setq threads-test-global
(let (form-description-33) (if (unwind-protect (setq value-32 (progn
(let ((value-32 (gensym "ert-form-evaluation-aborted-"))) (let (form
(lambda nil (let ((value-32 (gensym "ert-form-evaluation-aborted-"))
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-join :documentation "test of
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-join condition:
(void-function make-thread)
FAILED 16/28 threads-join
passed 17/28 threads-join-self
Test threads-let-binding backtrace:
(make-thread (function threads-test-thread2))
(progn (setq threads-test-global nil) (make-thread (function threads
(setq value-41 (progn (setq threads-test-global nil) (make-thread (f
(unwind-protect (setq value-41 (progn (setq threads-test-global nil)
(if (unwind-protect (setq value-41 (progn (setq threads-test-global
(let (form-description-42) (if (unwind-protect (setq value-41 (progn
(let ((value-41 (gensym "ert-form-evaluation-aborted-"))) (let (form
(lambda nil (let ((value-41 (gensym "ert-form-evaluation-aborted-"))
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-let-binding :documentation "s
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-let-binding condition:
(void-function make-thread)
FAILED 18/28 threads-let-binding
Test threads-mutex-contention backtrace:
(make-mutex)
(setq threads-mutex (make-mutex))
(progn (setq threads-mutex (make-mutex)) (setq threads-mutex-key nil
(setq value-62 (progn (setq threads-mutex (make-mutex)) (setq thread
(unwind-protect (setq value-62 (progn (setq threads-mutex (make-mute
(if (unwind-protect (setq value-62 (progn (setq threads-mutex (make-
(let (form-description-63) (if (unwind-protect (setq value-62 (progn
(let ((value-62 (gensym "ert-form-evaluation-aborted-"))) (let (form
(lambda nil (let ((value-62 (gensym "ert-form-evaluation-aborted-"))
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-mutex-contention :documentati
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-mutex-contention condition:
(void-function make-mutex)
FAILED 19/28 threads-mutex-contention
Test threads-mutex-lock-unlock backtrace:
(make-mutex)
(let ((mx (make-mutex))) (mutex-lock mx) (mutex-unlock mx) t)
(setq value-58 (let ((mx (make-mutex))) (mutex-lock mx) (mutex-unloc
(unwind-protect (setq value-58 (let ((mx (make-mutex))) (mutex-lock
(if (unwind-protect (setq value-58 (let ((mx (make-mutex))) (mutex-l
(let (form-description-59) (if (unwind-protect (setq value-58 (let (
(let ((value-58 (gensym "ert-form-evaluation-aborted-"))) (let (form
(lambda nil (let ((value-58 (gensym "ert-form-evaluation-aborted-"))
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-mutex-lock-unlock :documentat
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-mutex-lock-unlock condition:
(void-function make-mutex)
FAILED 20/28 threads-mutex-lock-unlock
Test threads-mutex-recursive backtrace:
(make-mutex)
(let ((mx (make-mutex))) (mutex-lock mx) (mutex-lock mx) (mutex-unlo
(setq value-60 (let ((mx (make-mutex))) (mutex-lock mx) (mutex-lock
(unwind-protect (setq value-60 (let ((mx (make-mutex))) (mutex-lock
(if (unwind-protect (setq value-60 (let ((mx (make-mutex))) (mutex-l
(let (form-description-61) (if (unwind-protect (setq value-60 (let (
(let ((value-60 (gensym "ert-form-evaluation-aborted-"))) (let (form
(lambda nil (let ((value-60 (gensym "ert-form-evaluation-aborted-"))
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-mutex-recursive :documentatio
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-mutex-recursive condition:
(void-function make-mutex)
FAILED 21/28 threads-mutex-recursive
Test threads-mutex-signal backtrace:
(make-mutex)
(setq threads-mutex (make-mutex))
(progn (setq threads-mutex (make-mutex)) (setq threads-mutex-key nil
(setq value-64 (progn (setq threads-mutex (make-mutex)) (setq thread
(unwind-protect (setq value-64 (progn (setq threads-mutex (make-mute
(if (unwind-protect (setq value-64 (progn (setq threads-mutex (make-
(let (form-description-65) (if (unwind-protect (setq value-64 (progn
(let ((value-64 (gensym "ert-form-evaluation-aborted-"))) (let (form
(lambda nil (let ((value-64 (gensym "ert-form-evaluation-aborted-"))
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-mutex-signal :documentation "
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-mutex-signal condition:
(void-function make-mutex)
FAILED 22/28 threads-mutex-signal
Test threads-mutex-type backtrace:
signal(void-function (make-mutex))
apply(signal (void-function (make-mutex)))
(setq value-55 (apply fn-53 args-54))
(unwind-protect (setq value-55 (apply fn-53 args-54)) (setq form-des
(if (unwind-protect (setq value-55 (apply fn-53 args-54)) (setq form
(let (form-description-57) (if (unwind-protect (setq value-55 (apply
(let ((value-55 'ert-form-evaluation-aborted-56)) (let (form-descrip
(let* ((fn-53 (function eq)) (args-54 (condition-case err (let ((sig
(lambda nil (let* ((fn-53 (function eq)) (args-54 (condition-case er
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-mutex-type :documentation "ty
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-mutex-type condition:
(void-function make-mutex)
FAILED 23/28 threads-mutex-type
passed 24/28 threads-mutexp
Test threads-mutexp-2 backtrace:
signal(void-function (make-mutex))
apply(signal (void-function (make-mutex)))
(setq value-50 (apply fn-48 args-49))
(unwind-protect (setq value-50 (apply fn-48 args-49)) (setq form-des
(if (unwind-protect (setq value-50 (apply fn-48 args-49)) (setq form
(let (form-description-52) (if (unwind-protect (setq value-50 (apply
(let ((value-50 'ert-form-evaluation-aborted-51)) (let (form-descrip
(let* ((fn-48 (function mutexp)) (args-49 (condition-case err (let (
(lambda nil (let* ((fn-48 (function mutexp)) (args-49 (condition-cas
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-mutexp-2 :documentation "anot
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-mutexp-2 condition:
(void-function make-mutex)
FAILED 25/28 threads-mutexp-2
Test threads-name backtrace:
signal(void-function (thread-name))
apply(signal (void-function (thread-name)))
(setq value-17 (apply fn-15 args-16))
(unwind-protect (setq value-17 (apply fn-15 args-16)) (setq form-des
(if (unwind-protect (setq value-17 (apply fn-15 args-16)) (setq form
(let (form-description-19) (if (unwind-protect (setq value-17 (apply
(let ((value-17 'ert-form-evaluation-aborted-18)) (let (form-descrip
(let* ((fn-15 (function string=)) (args-16 (condition-case err (let
(lambda nil (let* ((fn-15 (function string=)) (args-16 (condition-ca
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-name :documentation "test for
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-name condition:
(void-function thread-name)
FAILED 26/28 threads-name
Test threads-threadp backtrace:
signal(void-function (current-thread))
apply(signal (void-function (current-thread)))
(setq value-7 (apply fn-5 args-6))
(unwind-protect (setq value-7 (apply fn-5 args-6)) (setq form-descri
(if (unwind-protect (setq value-7 (apply fn-5 args-6)) (setq form-de
(let (form-description-9) (if (unwind-protect (setq value-7 (apply f
(let ((value-7 'ert-form-evaluation-aborted-8)) (let (form-descripti
(let* ((fn-5 (function threadp)) (args-6 (condition-case err (let ((
(lambda nil (let* ((fn-5 (function threadp)) (args-6 (condition-case
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-threadp :documentation "test
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-threadp condition:
(void-function current-thread)
FAILED 27/28 threads-threadp
Test threads-type backtrace:
signal(void-function (current-thread))
apply(signal (void-function (current-thread)))
(setq value-12 (apply fn-10 args-11))
(unwind-protect (setq value-12 (apply fn-10 args-11)) (setq form-des
(if (unwind-protect (setq value-12 (apply fn-10 args-11)) (setq form
(let (form-description-14) (if (unwind-protect (setq value-12 (apply
(let ((value-12 'ert-form-evaluation-aborted-13)) (let (form-descrip
(let* ((fn-10 (function eq)) (args-11 (condition-case err (let ((sig
(lambda nil (let* ((fn-10 (function eq)) (args-11 (condition-case er
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name threads-type :documentation "test of
ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":." "-l" "ert" "-l" "src/thread-tests.el" "--e
command-line()
normal-top-level()
Test threads-type condition:
(void-function current-thread)
FAILED 28/28 threads-type
Ran 28 tests, 4 results as expected, 24 unexpected (2018-01-17 17:55:26+0100)
24 unexpected results:
FAILED thread-errors
FAILED thread-signal-early
FAILED threads-alive
FAILED threads-all-threads
FAILED threads-basic
FAILED threads-condvar-mutex
FAILED threads-condvar-name
FAILED threads-condvar-name-2
FAILED threads-condvar-type
FAILED threads-condvar-wait
FAILED threads-condvarp-2
FAILED threads-io-switch
FAILED threads-is-one
FAILED threads-join
FAILED threads-let-binding
FAILED threads-mutex-contention
FAILED threads-mutex-lock-unlock
FAILED threads-mutex-recursive
FAILED threads-mutex-signal
FAILED threads-mutex-type
FAILED threads-mutexp-2
FAILED threads-name
FAILED threads-threadp
FAILED threads-type
make[3]: *** [Makefile:166: src/thread-tests.log] Error 1
GEN src/undo-tests.log
GEN src/xml-tests.log
make[3]: Leaving directory '/sources/emacs/test'
make[2]: [Makefile:268: check-doit] Error 2 (ignored)
SUMMARY OF TEST RESULTS
-----------------------
Files examined: 186
Ran 2658 tests, 1 failed to run, 2549 results as expected, 28 unexpected, 81 skipped
1 files did not contain any tests:
src/emacs-module-tests.log
1 files did not finish:
src/keyboard-tests.log
3 files contained unexpected results:
src/thread-tests.log
lisp/vc/vc-tests.log
lisp/vc/vc-bzr-tests.log
make[2]: *** [Makefile:269: check-doit] Error 2
make[2]: Leaving directory '/sources/emacs/test'
make[1]: *** [Makefile:244: check] Error 2
make[1]: Leaving directory '/sources/emacs/test'
make: *** [Makefile:945: check] Error 2
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-17 17:03 ` Jean Louis
@ 2018-01-17 18:25 ` Eli Zaretskii
2018-01-17 18:51 ` Glenn Morris
2018-01-17 19:20 ` Jean Louis
2018-01-17 18:32 ` Andy Moreton
1 sibling, 2 replies; 45+ messages in thread
From: Eli Zaretskii @ 2018-01-17 18:25 UTC (permalink / raw)
To: Jean Louis; +Cc: 30106
> Date: Wed, 17 Jan 2018 20:03:10 +0300
> From: Jean Louis <bugs@gnu.support>
> Cc: 30106@debbugs.gnu.org
>
> > Apply the patch below, rebuild Emacs, rerun the test, and see if
> > there's the telltale "current_thread is NULL"
> > message in the log.
>
> I have done that, I did not see during "make
> check" the line "current_thread is NULL", and I am
> attaching the output from "make check".
Then I'm not sure what's going on there. Is HAVE_PTHREAD defined in
src/config.h?
Does anyone else on this list see anything similar?
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-17 17:03 ` Jean Louis
2018-01-17 18:25 ` Eli Zaretskii
@ 2018-01-17 18:32 ` Andy Moreton
1 sibling, 0 replies; 45+ messages in thread
From: Andy Moreton @ 2018-01-17 18:32 UTC (permalink / raw)
To: 30106
On Wed 17 Jan 2018, Jean Louis wrote:
> On Wed, Jan 17, 2018 at 05:36:45PM +0200, Eli Zaretskii wrote:
>> > Date: Tue, 16 Jan 2018 22:18:55 +0300
>> > From: Jean Louis <bugs@gnu.support>
>> > Cc: 30106@debbugs.gnu.org
>> >
>> > > in_current_thread (void)
>> > > {
>> > > if (current_thread == NULL)
>> > > return false;
>> > > #ifdef HAVE_PTHREAD
>> > > return pthread_equal (pthread_self (), current_thread->thread_id);
>> > > #elif defined WINDOWSNT
>> > > return GetCurrentThreadId () == current_thread->thread_id;
>> > > #endif
>> > > }
>> > >
>> > > So either current_thread is NULL in your case, or pthread_equal
>> > > returns false. Can you tell which one of these happens?
>> >
>> > I cannot test it myself on my own. You may tell me
>> > what to do, to test it.
>>
>> Apply the patch below, rebuild Emacs, rerun the test, and see if
>> there's the telltale "current_thread is NULL"
>> message in the log.
>
> I have done that, I did not see during "make
> check" the line "current_thread is NULL", and I am
> attaching the output from "make check".
Looking at the log you supplied:
CCLD data/emacs-module/mod-test.so
ELC src/emacs-module-tests.elc
Emacs module assertion: Module function called from outside the current Lisp thread
That would seem to be the cause of your problem.
AndyM
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-17 18:25 ` Eli Zaretskii
@ 2018-01-17 18:51 ` Glenn Morris
2018-01-17 18:58 ` Glenn Morris
2018-01-17 20:05 ` Eli Zaretskii
2018-01-17 19:20 ` Jean Louis
1 sibling, 2 replies; 45+ messages in thread
From: Glenn Morris @ 2018-01-17 18:51 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 30106, Jean Louis
Eli Zaretskii wrote:
> Does anyone else on this list see anything similar?
Same error on rhel 7.4 if configure with --without-threads --with-modules.
Emacs module assertion: Module function called from outside the current
Lisp thread
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-17 18:51 ` Glenn Morris
@ 2018-01-17 18:58 ` Glenn Morris
2018-01-17 19:37 ` Jean Louis
2018-01-17 20:05 ` Eli Zaretskii
1 sibling, 1 reply; 45+ messages in thread
From: Glenn Morris @ 2018-01-17 18:58 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 30106, Jean Louis
Glenn Morris wrote:
> Same error on rhel 7.4 if configure with --without-threads --with-modules.
>
> Emacs module assertion: Module function called from outside the current
> Lisp thread
PS --without-all implies --without-threads, ref.
https://debbugs.gnu.org/30106#37
Note that the OP has switched to using --without-all from the initial
report, and is now having a different problem. Compare
https://debbugs.gnu.org/30106#11
https://debbugs.gnu.org/30106#37
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-17 18:25 ` Eli Zaretskii
2018-01-17 18:51 ` Glenn Morris
@ 2018-01-17 19:20 ` Jean Louis
1 sibling, 0 replies; 45+ messages in thread
From: Jean Louis @ 2018-01-17 19:20 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 30106
On Wed, Jan 17, 2018 at 08:25:51PM +0200, Eli Zaretskii wrote:
> > Date: Wed, 17 Jan 2018 20:03:10 +0300
> > From: Jean Louis <bugs@gnu.support>
> > Cc: 30106@debbugs.gnu.org
> >
> > > Apply the patch below, rebuild Emacs, rerun the test, and see if
> > > there's the telltale "current_thread is NULL"
> > > message in the log.
> >
> > I have done that, I did not see during "make
> > check" the line "current_thread is NULL", and I am
> > attaching the output from "make check".
>
> Then I'm not sure what's going on there. Is HAVE_PTHREAD defined in
> src/config.h?
>
> Does anyone else on this list see anything similar?
src/config.h:
admin-> grep HAVE_PTHREAD src/config.h
#define HAVE_PTHREAD 1
#define HAVE_PTHREAD_H 1
#define HAVE_PTHREAD_SIGMASK 1
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-17 18:58 ` Glenn Morris
@ 2018-01-17 19:37 ` Jean Louis
2018-01-18 23:01 ` Glenn Morris
0 siblings, 1 reply; 45+ messages in thread
From: Jean Louis @ 2018-01-17 19:37 UTC (permalink / raw)
To: Glenn Morris; +Cc: 30106
On Wed, Jan 17, 2018 at 01:58:17PM -0500, Glenn Morris wrote:
> Glenn Morris wrote:
>
> > Same error on rhel 7.4 if configure with --without-threads --with-modules.
> >
> > Emacs module assertion: Module function called from outside the current
> > Lisp thread
>
> PS --without-all implies --without-threads, ref.
>
> https://debbugs.gnu.org/30106#37
>
> Note that the OP has switched to using --without-all from the initial
> report, and is now having a different problem. Compare
>
> https://debbugs.gnu.org/30106#11
> https://debbugs.gnu.org/30106#37
In beginning I did not use without-all, then I
changed, overlooked it.
However, now at this point, but maybe after
patching, I could compile it so that it works. I
can load the dynamic module with (require 'pq)
Earlier, even though I did not use --without-all,
but I did use --with-modules I could not compile
it to work.
Jean
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-17 18:51 ` Glenn Morris
2018-01-17 18:58 ` Glenn Morris
@ 2018-01-17 20:05 ` Eli Zaretskii
2018-01-17 20:29 ` Glenn Morris
1 sibling, 1 reply; 45+ messages in thread
From: Eli Zaretskii @ 2018-01-17 20:05 UTC (permalink / raw)
To: Glenn Morris; +Cc: 30106, bugs
> From: Glenn Morris <rgm@gnu.org>
> Cc: Jean Louis <bugs@gnu.support>, 30106@debbugs.gnu.org
> Date: Wed, 17 Jan 2018 13:51:05 -0500
>
> Eli Zaretskii wrote:
>
> > Does anyone else on this list see anything similar?
>
> Same error on rhel 7.4 if configure with --without-threads --with-modules.
>
> Emacs module assertion: Module function called from outside the current
> Lisp thread
Does this go away if you put
return true;
at the end of in_current_thread, outside of all the #ifdef's?
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-17 20:05 ` Eli Zaretskii
@ 2018-01-17 20:29 ` Glenn Morris
2018-01-17 22:16 ` Philipp Stephani
0 siblings, 1 reply; 45+ messages in thread
From: Glenn Morris @ 2018-01-17 20:29 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 30106, bugs
Eli Zaretskii wrote:
>> Same error on rhel 7.4 if configure with --without-threads --with-modules.
>>
>> Emacs module assertion: Module function called from outside the current
>> Lisp thread
>
> Does this go away if you put
>
> return true;
>
> at the end of in_current_thread, outside of all the #ifdef's?
No.
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-17 20:29 ` Glenn Morris
@ 2018-01-17 22:16 ` Philipp Stephani
2018-01-17 22:18 ` Philipp Stephani
` (2 more replies)
0 siblings, 3 replies; 45+ messages in thread
From: Philipp Stephani @ 2018-01-17 22:16 UTC (permalink / raw)
To: Glenn Morris; +Cc: 30106, bugs
[-- Attachment #1: Type: text/plain, Size: 1456 bytes --]
Glenn Morris <rgm@gnu.org> schrieb am Mi., 17. Jan. 2018 um 21:31 Uhr:
> Eli Zaretskii wrote:
>
> >> Same error on rhel 7.4 if configure with --without-threads
> --with-modules.
> >>
> >> Emacs module assertion: Module function called from outside the
> current
> >> Lisp thread
> >
> > Does this go away if you put
> >
> > return true;
> >
> > at the end of in_current_thread, outside of all the #ifdef's?
>
> No.
>
>
>
>
>
The current implementation of in_current_thread is definitely bogus if
threads are disabled; I can't even compile temacs with --without-threads
--with-modules:
*emacs-module.c:814:42: **error: **incompatible integer to pointer
conversion passing 'sys_thread_t' (aka 'int') to parameter of type
'pthread_t _Nullable'*
* (aka 'struct _opaque_pthread_t *') [-Werror,-Wint-conversion]*
return pthread_equal (pthread_self (), current_thread->thread_id);
* ^~~~~~~~~~~~~~~~~~~~~~~~~*
*/usr/include/pthread.h:340:59: note: *passing argument to parameter here
int pthread_equal(pthread_t _Nullable, pthread_t _Nullable);
because if threads are disabled, the thread ID is an int.
The function also doesn't handle the case where neither HAVE_PTHREAD nor
WINDOWSNT are defined (but maybe we don't have such platforms).
Maybe systhread.h should have a function
extern sys_thread_t sys_thread_self ();
so emacs-module.c doesn't have to care about the threading implementations.
[-- Attachment #2: Type: text/html, Size: 2881 bytes --]
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-17 22:16 ` Philipp Stephani
@ 2018-01-17 22:18 ` Philipp Stephani
2018-01-17 22:28 ` bug#30106: [PATCH 1/2] Use recommended long options syntax in man page Philipp Stephani
2018-01-18 13:59 ` bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test' Eli Zaretskii
2018-01-18 17:40 ` Glenn Morris
2 siblings, 1 reply; 45+ messages in thread
From: Philipp Stephani @ 2018-01-17 22:18 UTC (permalink / raw)
To: Glenn Morris; +Cc: 30106, bugs
[-- Attachment #1: Type: text/plain, Size: 206 bytes --]
Philipp Stephani <p.stephani2@gmail.com> schrieb am Mi., 17. Jan. 2018 um
23:16 Uhr:
> Maybe systhread.h should have a function
>
> extern sys_thread_t sys_thread_self ();
>
>
> Uh, it already has that :)
[-- Attachment #2: Type: text/html, Size: 691 bytes --]
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: [PATCH 1/2] Use recommended long options syntax in man page
2018-01-17 22:18 ` Philipp Stephani
@ 2018-01-17 22:28 ` Philipp Stephani
2018-01-17 22:28 ` bug#30106: [PATCH 2/2] Fix module support if threads are disabled (Bug#30106) Philipp Stephani
2018-01-17 22:35 ` bug#30106: [PATCH 1/2] Use recommended long options syntax in man page Philipp Stephani
0 siblings, 2 replies; 45+ messages in thread
From: Philipp Stephani @ 2018-01-17 22:28 UTC (permalink / raw)
To: Glenn Morris, Eli Zaretskii, 30106; +Cc: Philipp Stephani
* doc/man/emacs.1.in: Specify equals sign for long options, as
recommended in the manual.
---
doc/man/emacs.1.in | 50 +++++++++++++++++++++++++-------------------------
1 file changed, 25 insertions(+), 25 deletions(-)
diff --git a/doc/man/emacs.1.in b/doc/man/emacs.1.in
index 7654c9610d..5116953041 100644
--- a/doc/man/emacs.1.in
+++ b/doc/man/emacs.1.in
@@ -61,7 +61,7 @@ The following options are of general interest:
Edit
.IR file .
.TP
-.BI \-\-file " file\fR,\fP " \-\-find-file " file\fR,\fP " \-\-visit " file"
+.BI \-\-file= "file\fR,\fP " \-\-find-file= "file\fR,\fP " \-\-visit= "file"
The same as specifying
.I file
directly as an argument.
@@ -79,7 +79,7 @@ Go to the specified
and
.IR column .
.TP
-.BI \-\-chdir " directory"
+.BI \-\-chdir= "directory"
Change to
.IR directory .
.TP
@@ -112,12 +112,12 @@ Lisp debugger during the processing of the user init file
.BR ~/.emacs .
This is useful for debugging problems in the init file.
.TP
-.BI \-u " user\fR,\fP " \-\-user " user"
+.BI \-u " user\fR,\fP " \-\-user= "user"
Load
.IR user 's
init file.
.TP
-.BI \-t " file\fR,\fP " \-\-terminal " file"
+.BI \-t " file\fR,\fP " \-\-terminal= "file"
Use specified
.I file
as the terminal instead of using stdin/stdout.
@@ -144,15 +144,15 @@ The following options are Lisp-oriented
(these options are processed in the order encountered):
.RS
.TP 8
-.BI \-f " function\fR,\fP " \-\-funcall " function"
+.BI \-f " function\fR,\fP " \-\-funcall= "function"
Execute the lisp function
.IR function .
.TP
-.BI \-l " file\fR,\fP " \-\-load " file"
+.BI \-l " file\fR,\fP " \-\-load= "file"
Load the lisp code in the file
.IR file .
.TP
-.BI \-\-eval " expr\fR,\fP " \-\-execute " expr"
+.BI \-\-eval= "expr\fR,\fP " \-\-execute= "expr"
Evaluate the Lisp expression
.IR expr .
.RE
@@ -168,12 +168,12 @@ The editor will send messages to stderr.
You must use \-l and \-f options to specify files to execute
and functions to call.
.TP
-.BI \-\-script " file"
+.BI \-\-script= "file"
Run
.I file
as an Emacs Lisp script.
.TP
-.BI \-\-insert " file"
+.BI \-\-insert= "file"
Insert contents of
.I file
into the current buffer.
@@ -183,7 +183,7 @@ Exit
.I Emacs
while in batch mode.
.TP
-.BI \-L " dir\fR,\fP " \-\-directory " dir"
+.BI \-L " dir\fR,\fP " \-\-directory= "dir"
Add
.I dir
to the list of directories
@@ -206,13 +206,13 @@ process so that you can continue using your original window.
can be started with the following X switches:
.RS
.TP 8
-.BI \-\-name " name"
+.BI \-\-name= "name"
Specify the name which should be assigned to the initial
.I Emacs
window.
This controls looking up X resources as well as the window title.
.TP
-.BI \-T " name\fR,\fP " \-\-title " name"
+.BI \-T " name\fR,\fP " \-\-title= "name"
Specify the title for the initial X window.
.TP
.BR \-r ", " \-rv ", " \-\-reverse\-video
@@ -220,7 +220,7 @@ Display the
.I Emacs
window in reverse video.
.TP
-.BI \-fn " font\fR,\fP " \-\-font " font"
+.BI \-fn " font\fR,\fP " \-\-font= "font"
Set the
.I Emacs
window's font to that specified by
@@ -247,7 +247,7 @@ for more information.
When you specify a font, be sure to put a space between the
switch and the font name.
.TP
-.BI \-\-xrm " resources"
+.BI \-\-xrm= "resources"
Set additional X resources.
.TP
.BI "\-\-color\fR,\fP \-\-color=" mode
@@ -256,20 +256,20 @@ Override color mode for character terminals;
defaults to "auto", and can also be "never", "auto", "always",
or a mode name like "ansi8".
.TP
-.BI \-bw " pixels\fR,\fP " \-\-border\-width " pixels"
+.BI \-bw " pixels\fR,\fP " \-\-border\-width= "pixels"
Set the
.I Emacs
window's border width to the number of pixels specified by
.IR pixels .
Defaults to one pixel on each side of the window.
.TP
-.BI \-ib " pixels\fR,\fP " \-\-internal\-border " pixels"
+.BI \-ib " pixels\fR,\fP " \-\-internal\-border= "pixels"
Set the window's internal border width to the number of pixels specified
by
.IR pixels .
Defaults to one pixel of padding on each side of the window.
.TP
-.BI \-g " geometry\fR,\fP " \-\-geometry " geometry"
+.BI \-g " geometry\fR,\fP " \-\-geometry= "geometry"
Set the
.I Emacs
window's width, height, and position as specified.
@@ -282,7 +282,7 @@ See the Emacs manual, section "Options for Window Size and Position",
for information on how window sizes interact
with selecting or deselecting the tool bar and menu bar.
.TP
-.BI \-lsp " pixels\fR,\fP " \-\-line\-spacing " pixels"
+.BI \-lsp " pixels\fR,\fP " \-\-line\-spacing= "pixels"
Additional space to put between lines.
.TP
.BR \-vb ", " \-\-vertical\-scroll\-bars
@@ -300,26 +300,26 @@ Make the first frame as wide as the screen.
.BR \-mm ", " \-\-maximized
Maximize the first frame, like "\-fw \-fh".
.TP
-.BI \-fg " color\fR,\fP " \-\-foreground\-color " color"
+.BI \-fg " color\fR,\fP " \-\-foreground\-color= "color"
On color displays, set the color of the text.
Use the command
.I M\-x list\-colors\-display
for a list of valid color names.
.TP
-.BI \-bg " color\fR,\fP " \-\-background\-color " color"
+.BI \-bg " color\fR,\fP " \-\-background\-color= "color"
On color displays, set the color of the window's background.
.TP
-.BI \-bd " color\fR,\fP " \-\-border\-color " color"
+.BI \-bd " color\fR,\fP " \-\-border\-color= "color"
On color displays, set the color of the window's border.
.TP
-.BI \-cr " color\fR,\fP " \-\-cursor\-color " color"
+.BI \-cr " color\fR,\fP " \-\-cursor\-color= "color"
On color displays, set the color of the window's text cursor.
.TP
-.BI \-ms " color\fR,\fP " \-\-mouse\-color " color"
+.BI \-ms " color\fR,\fP " \-\-mouse\-color= "color"
On color displays, set the color of the window's mouse cursor.
.TP
-.BI \-d " displayname\fR,\fP " \-\-display " displayname"
+.BI \-d " displayname\fR,\fP " \-\-display= "displayname"
Create the
.I Emacs
window on the display specified by
@@ -337,7 +337,7 @@ in iconified state.
.BR \-nbc ", " \-\-no\-blinking\-cursor
Disable blinking cursor.
.TP
-.BI \-\-parent-id " xid"
+.BI \-\-parent-id= "xid"
Set parent window.
.TP
.BR \-nw ", " \-\-no\-window\-system
--
2.15.1
^ permalink raw reply related [flat|nested] 45+ messages in thread
* bug#30106: [PATCH 2/2] Fix module support if threads are disabled (Bug#30106)
2018-01-17 22:28 ` bug#30106: [PATCH 1/2] Use recommended long options syntax in man page Philipp Stephani
@ 2018-01-17 22:28 ` Philipp Stephani
2018-01-18 14:04 ` Eli Zaretskii
2018-01-17 22:35 ` bug#30106: [PATCH 1/2] Use recommended long options syntax in man page Philipp Stephani
1 sibling, 1 reply; 45+ messages in thread
From: Philipp Stephani @ 2018-01-17 22:28 UTC (permalink / raw)
To: Glenn Morris, Eli Zaretskii, 30106; +Cc: Philipp Stephani
* src/systhread.c (sys_thread_equal): New function.
* src/emacs-module.c (in_current_thread): Use it.
---
src/emacs-module.c | 7 ++-----
src/systhread.c | 18 ++++++++++++++++++
src/systhread.h | 1 +
3 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/src/emacs-module.c b/src/emacs-module.c
index 00f0e86d7d..298080e646 100644
--- a/src/emacs-module.c
+++ b/src/emacs-module.c
@@ -31,6 +31,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#include "coding.h"
#include "keyboard.h"
#include "syssignal.h"
+#include "systhread.h"
#include "thread.h"
#include <intprops.h>
@@ -805,11 +806,7 @@ in_current_thread (void)
{
if (current_thread == NULL)
return false;
-#ifdef HAVE_PTHREAD
- return pthread_equal (pthread_self (), current_thread->thread_id);
-#elif defined WINDOWSNT
- return GetCurrentThreadId () == current_thread->thread_id;
-#endif
+ return sys_thread_equal (sys_thread_self (), current_thread->thread_id);
}
static void
diff --git a/src/systhread.c b/src/systhread.c
index 4ffb7db143..3f162a2bcb 100644
--- a/src/systhread.c
+++ b/src/systhread.c
@@ -74,6 +74,12 @@ sys_thread_self (void)
return 0;
}
+bool
+sys_thread_equal (sys_thread_t t, sys_thread_t u)
+{
+ return t == u;
+}
+
int
sys_thread_create (sys_thread_t *t, const char *name,
thread_creation_function *func, void *datum)
@@ -155,6 +161,12 @@ sys_thread_self (void)
return pthread_self ();
}
+bool
+sys_thread_equal (sys_thread_t t, sys_thread_t u)
+{
+ return pthread_equal (t, u);
+}
+
int
sys_thread_create (sys_thread_t *thread_ptr, const char *name,
thread_creation_function *func, void *arg)
@@ -323,6 +335,12 @@ sys_thread_self (void)
return (sys_thread_t) GetCurrentThreadId ();
}
+bool
+sys_thread_equal (sys_thread_t t, sys_thread_t u)
+{
+ return t == u;
+}
+
static thread_creation_function *thread_start_address;
/* _beginthread wants a void function, while we are passed a function
diff --git a/src/systhread.h b/src/systhread.h
index 4745d22065..5dbb12dffb 100644
--- a/src/systhread.h
+++ b/src/systhread.h
@@ -100,6 +100,7 @@ extern void sys_cond_broadcast (sys_cond_t *);
extern void sys_cond_destroy (sys_cond_t *);
extern sys_thread_t sys_thread_self (void);
+extern bool sys_thread_equal (sys_thread_t, sys_thread_t);
extern int sys_thread_create (sys_thread_t *, const char *,
thread_creation_function *,
--
2.15.1
^ permalink raw reply related [flat|nested] 45+ messages in thread
* bug#30106: [PATCH 1/2] Use recommended long options syntax in man page
2018-01-17 22:28 ` bug#30106: [PATCH 1/2] Use recommended long options syntax in man page Philipp Stephani
2018-01-17 22:28 ` bug#30106: [PATCH 2/2] Fix module support if threads are disabled (Bug#30106) Philipp Stephani
@ 2018-01-17 22:35 ` Philipp Stephani
1 sibling, 0 replies; 45+ messages in thread
From: Philipp Stephani @ 2018-01-17 22:35 UTC (permalink / raw)
To: Glenn Morris, Eli Zaretskii, 30106; +Cc: Philipp Stephani
[-- Attachment #1: Type: text/plain, Size: 359 bytes --]
Philipp Stephani <p.stephani2@gmail.com> schrieb am Mi., 17. Jan. 2018 um
23:30 Uhr:
> * doc/man/emacs.1.in: Specify equals sign for long options, as
> recommended in the manual.
>
Please ignore this, it obviously has nothing to do with this bug. I've
started off from the wrong branch and then didn't pay close attention to
the output of `git send-email'.
[-- Attachment #2: Type: text/html, Size: 716 bytes --]
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-17 22:16 ` Philipp Stephani
2018-01-17 22:18 ` Philipp Stephani
@ 2018-01-18 13:59 ` Eli Zaretskii
2018-01-18 17:40 ` Glenn Morris
2 siblings, 0 replies; 45+ messages in thread
From: Eli Zaretskii @ 2018-01-18 13:59 UTC (permalink / raw)
To: Philipp Stephani; +Cc: 30106, bugs
> From: Philipp Stephani <p.stephani2@gmail.com>
> Date: Wed, 17 Jan 2018 22:16:58 +0000
> Cc: Eli Zaretskii <eliz@gnu.org>, 30106@debbugs.gnu.org, bugs@gnu.support
>
> The function also doesn't handle the case where neither HAVE_PTHREAD nor WINDOWSNT are defined
> (but maybe we don't have such platforms).
We don't, see sys_thread.c.
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: [PATCH 2/2] Fix module support if threads are disabled (Bug#30106)
2018-01-17 22:28 ` bug#30106: [PATCH 2/2] Fix module support if threads are disabled (Bug#30106) Philipp Stephani
@ 2018-01-18 14:04 ` Eli Zaretskii
2018-01-18 14:23 ` Philipp Stephani
0 siblings, 1 reply; 45+ messages in thread
From: Eli Zaretskii @ 2018-01-18 14:04 UTC (permalink / raw)
To: Philipp Stephani; +Cc: phst, 30106
> From: Philipp Stephani <p.stephani2@gmail.com>
> Cc: Philipp Stephani <phst@google.com>
> Date: Wed, 17 Jan 2018 23:28:46 +0100
>
> * src/systhread.c (sys_thread_equal): New function.
> * src/emacs-module.c (in_current_thread): Use it.
I'd prefer that the only file that calls systhread.c functions is
thread.c; systhread.c is supposed to be low-level code concealed from
application levels. So this would call for another level of
indirection: add a new function to thread.c, and call that from
emacs-module.c.
Otherwise, LGTM for master; thanks.
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: [PATCH 2/2] Fix module support if threads are disabled (Bug#30106)
2018-01-18 14:04 ` Eli Zaretskii
@ 2018-01-18 14:23 ` Philipp Stephani
2018-01-18 15:23 ` Eli Zaretskii
0 siblings, 1 reply; 45+ messages in thread
From: Philipp Stephani @ 2018-01-18 14:23 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: phst, 30106
[-- Attachment #1: Type: text/plain, Size: 889 bytes --]
Eli Zaretskii <eliz@gnu.org> schrieb am Do., 18. Jan. 2018 um 15:05 Uhr:
> > From: Philipp Stephani <p.stephani2@gmail.com>
> > Cc: Philipp Stephani <phst@google.com>
> > Date: Wed, 17 Jan 2018 23:28:46 +0100
> >
> > * src/systhread.c (sys_thread_equal): New function.
> > * src/emacs-module.c (in_current_thread): Use it.
>
> I'd prefer that the only file that calls systhread.c functions is
> thread.c; systhread.c is supposed to be low-level code concealed from
> application levels. So this would call for another level of
> indirection: add a new function to thread.c, and call that from
> emacs-module.c.
>
Makes sense, I've moved in_current_thread to thread.c because it's
unrelated to modules.
>
> Otherwise, LGTM for master; thanks.
>
>
Can we push this to emacs-26? Right now emacs-26 can't even be compiled
with --without-threads --with-modules (on some systems at least).
[-- Attachment #2: Type: text/html, Size: 1510 bytes --]
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: [PATCH 2/2] Fix module support if threads are disabled (Bug#30106)
2018-01-18 14:23 ` Philipp Stephani
@ 2018-01-18 15:23 ` Eli Zaretskii
2018-01-18 17:41 ` Glenn Morris
2018-01-18 19:25 ` Philipp Stephani
0 siblings, 2 replies; 45+ messages in thread
From: Eli Zaretskii @ 2018-01-18 15:23 UTC (permalink / raw)
To: Philipp Stephani; +Cc: phst, 30106
> From: Philipp Stephani <p.stephani2@gmail.com>
> Date: Thu, 18 Jan 2018 14:23:03 +0000
> Cc: phst@google.com, 30106@debbugs.gnu.org
>
> I'd prefer that the only file that calls systhread.c functions is
> thread.c; systhread.c is supposed to be low-level code concealed from
> application levels. So this would call for another level of
> indirection: add a new function to thread.c, and call that from
> emacs-module.c.
>
> Makes sense, I've moved in_current_thread to thread.c because it's unrelated to modules.
Thanks.
> Otherwise, LGTM for master; thanks.
>
> Can we push this to emacs-26? Right now emacs-26 can't even be compiled with --without-threads
> --with-modules (on some systems at least).
How important is this? --with-modules is an opt-in switch, and the
default is to build with threads. So this sounds not very important
to me, and the change, although simple, is not really trivial, and
will affect any module. So I'm uneasy putting this on emacs-26,
especially since the Emacs 26.0.91 tarball is already ready and is
awaiting upload, so this will only go into the next pretest, which I
hoped could be a release candidate...
Do you think leaving this for the next release will be so bad?
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-17 22:16 ` Philipp Stephani
2018-01-17 22:18 ` Philipp Stephani
2018-01-18 13:59 ` bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test' Eli Zaretskii
@ 2018-01-18 17:40 ` Glenn Morris
2 siblings, 0 replies; 45+ messages in thread
From: Glenn Morris @ 2018-01-18 17:40 UTC (permalink / raw)
To: Philipp Stephani; +Cc: 30106, bugs
Philipp Stephani wrote:
> The function also doesn't handle the case where neither HAVE_PTHREAD nor
> WINDOWSNT are defined (but maybe we don't have such platforms).
I don't know, but if not then IMO configure should explicitly reject
that situation.
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: [PATCH 2/2] Fix module support if threads are disabled (Bug#30106)
2018-01-18 15:23 ` Eli Zaretskii
@ 2018-01-18 17:41 ` Glenn Morris
2018-01-18 18:53 ` Eli Zaretskii
2018-01-18 19:25 ` Philipp Stephani
1 sibling, 1 reply; 45+ messages in thread
From: Glenn Morris @ 2018-01-18 17:41 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: phst, Philipp Stephani, 30106
If it's not to be fixed then IMO in the meantime configure should
explicitly reject --with-modules if threads are disabled.
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: [PATCH 2/2] Fix module support if threads are disabled (Bug#30106)
2018-01-18 17:41 ` Glenn Morris
@ 2018-01-18 18:53 ` Eli Zaretskii
2018-01-18 22:55 ` Glenn Morris
0 siblings, 1 reply; 45+ messages in thread
From: Eli Zaretskii @ 2018-01-18 18:53 UTC (permalink / raw)
To: Glenn Morris; +Cc: phst, p.stephani2, 30106
> From: Glenn Morris <rgm@gnu.org>
> Cc: Philipp Stephani <p.stephani2@gmail.com>, phst@google.com, 30106@debbugs.gnu.org
> Date: Thu, 18 Jan 2018 12:41:37 -0500
>
>
> If it's not to be fixed then IMO in the meantime configure should
> explicitly reject --with-modules if threads are disabled.
That'd replace one non-trivial change with another, so I think it's
worse than fixing the problem.
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: [PATCH 2/2] Fix module support if threads are disabled (Bug#30106)
2018-01-18 15:23 ` Eli Zaretskii
2018-01-18 17:41 ` Glenn Morris
@ 2018-01-18 19:25 ` Philipp Stephani
1 sibling, 0 replies; 45+ messages in thread
From: Philipp Stephani @ 2018-01-18 19:25 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: phst, 30106
[-- Attachment #1: Type: text/plain, Size: 1843 bytes --]
Eli Zaretskii <eliz@gnu.org> schrieb am Do., 18. Jan. 2018 um 16:23 Uhr:
> > From: Philipp Stephani <p.stephani2@gmail.com>
> > Date: Thu, 18 Jan 2018 14:23:03 +0000
> > Cc: phst@google.com, 30106@debbugs.gnu.org
> >
> > I'd prefer that the only file that calls systhread.c functions is
> > thread.c; systhread.c is supposed to be low-level code concealed from
> > application levels. So this would call for another level of
> > indirection: add a new function to thread.c, and call that from
> > emacs-module.c.
> >
> > Makes sense, I've moved in_current_thread to thread.c because it's
> unrelated to modules.
>
> Thanks.
>
> > Otherwise, LGTM for master; thanks.
> >
> > Can we push this to emacs-26? Right now emacs-26 can't even be compiled
> with --without-threads
> > --with-modules (on some systems at least).
>
> How important is this? --with-modules is an opt-in switch, and the
> default is to build with threads. So this sounds not very important
> to me, and the change, although simple, is not really trivial, and
> will affect any module. So I'm uneasy putting this on emacs-26,
> especially since the Emacs 26.0.91 tarball is already ready and is
> awaiting upload, so this will only go into the next pretest, which I
> hoped could be a release candidate...
>
> Do you think leaving this for the next release will be so bad?
>
OK, pushed to master as 694ee38f8b.
I don't expect this bug to cause correctness problems, even with the
combination --without-threads --with-modules. The test is buggy, but it
will only cause false positives with --module-assertions. That's annoying,
but users can ignore these assertions. However, in the correct
implementation, in_current_thread is effectively always true if threads are
unavailable, so occasionally returning false is not a problem as far as
modules are concerned.
[-- Attachment #2: Type: text/html, Size: 2474 bytes --]
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-15 17:56 ` Glenn Morris
@ 2018-01-18 19:35 ` Philipp Stephani
2018-01-18 23:00 ` Glenn Morris
0 siblings, 1 reply; 45+ messages in thread
From: Philipp Stephani @ 2018-01-18 19:35 UTC (permalink / raw)
To: Glenn Morris; +Cc: 30106, Jean Louis
[-- Attachment #1: Type: text/plain, Size: 740 bytes --]
Glenn Morris <rgm@gnu.org> schrieb am Mo., 15. Jan. 2018 um 18:57 Uhr:
>
> It seems that Fmodule_load does not update load-history.
> This is causing Frequire to report the wrong file names in its error
> message, which is making it hard to diagnose the real problem.
>
>
>
>
Sigh, Fmodule_load has many other bugs, now that I look at it:
- It doesn't protect against recursive loads
- It doesn't print load messages even if force-load-messages is t
- It doesn't update loads-in-progress
- It doesn't do any of the other things that Fload does for .el and .elc
files
I think we should get rid of Fmodule_load entirely and add the
module-specific parts to Fload (the module initialization step itself
should stay in emacs-module.c though).
[-- Attachment #2: Type: text/html, Size: 1096 bytes --]
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: [PATCH 2/2] Fix module support if threads are disabled (Bug#30106)
2018-01-18 18:53 ` Eli Zaretskii
@ 2018-01-18 22:55 ` Glenn Morris
2018-01-19 7:58 ` Eli Zaretskii
0 siblings, 1 reply; 45+ messages in thread
From: Glenn Morris @ 2018-01-18 22:55 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: phst, p.stephani2, 30106
Eli Zaretskii wrote:
>> If it's not to be fixed then IMO in the meantime configure should
>> explicitly reject --with-modules if threads are disabled.
>
> That'd replace one non-trivial change with another, so I think it's
> worse than fixing the problem.
You think the following is non-trivial?
--- a/configure.ac
+++ b/configure.ac
@@ -3513,6 +3513,8 @@ case $opsys in
*) MODULES_SUFFIX=".so" ;;
esac
if test "${with_modules}" != "no"; then
+ test "${threads_enabled}" = "no" && \
+ AC_MSG_ERROR([modules currently require threads])
case $opsys in
gnu|gnu-linux)
LIBMODULES="-ldl"
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-18 19:35 ` Philipp Stephani
@ 2018-01-18 23:00 ` Glenn Morris
0 siblings, 0 replies; 45+ messages in thread
From: Glenn Morris @ 2018-01-18 23:00 UTC (permalink / raw)
To: Philipp Stephani; +Cc: 30106, Jean Louis
Philipp Stephani wrote:
>> It seems that Fmodule_load does not update load-history.
>> This is causing Frequire to report the wrong file names in its error
>> message, which is making it hard to diagnose the real problem.
Sorry, I made a separate report for this before seeing your reply.
bug#30164
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test'
2018-01-17 19:37 ` Jean Louis
@ 2018-01-18 23:01 ` Glenn Morris
0 siblings, 0 replies; 45+ messages in thread
From: Glenn Morris @ 2018-01-18 23:01 UTC (permalink / raw)
To: 30106-done
Jean Louis wrote:
> However, now at this point, but maybe after patching, I could compile
> it so that it works. I can load the dynamic module with (require 'pq)
Based on this comment I am closing this report.
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: [PATCH 2/2] Fix module support if threads are disabled (Bug#30106)
2018-01-18 22:55 ` Glenn Morris
@ 2018-01-19 7:58 ` Eli Zaretskii
2018-01-20 18:07 ` Glenn Morris
0 siblings, 1 reply; 45+ messages in thread
From: Eli Zaretskii @ 2018-01-19 7:58 UTC (permalink / raw)
To: Glenn Morris; +Cc: phst, p.stephani2, 30106
> From: Glenn Morris <rgm@gnu.org>
> Cc: p.stephani2@gmail.com, phst@google.com, 30106@debbugs.gnu.org
> Date: Thu, 18 Jan 2018 17:55:22 -0500
>
> Eli Zaretskii wrote:
>
> >> If it's not to be fixed then IMO in the meantime configure should
> >> explicitly reject --with-modules if threads are disabled.
> >
> > That'd replace one non-trivial change with another, so I think it's
> > worse than fixing the problem.
>
> You think the following is non-trivial?
Yes, because it changes the configure script. How do we know it won't
fail builds on some obscure platforms?
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: [PATCH 2/2] Fix module support if threads are disabled (Bug#30106)
2018-01-19 7:58 ` Eli Zaretskii
@ 2018-01-20 18:07 ` Glenn Morris
2018-01-20 19:01 ` Eli Zaretskii
0 siblings, 1 reply; 45+ messages in thread
From: Glenn Morris @ 2018-01-20 18:07 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: phst, p.stephani2, 30106
Eli Zaretskii wrote:
>> You think the following is non-trivial?
>
> Yes, because it changes the configure script. How do we know it won't
> fail builds on some obscure platforms?
Basic common sense.
But don't worry, I've learnt that expressing my opinion is a waste of time.
^ permalink raw reply [flat|nested] 45+ messages in thread
* bug#30106: [PATCH 2/2] Fix module support if threads are disabled (Bug#30106)
2018-01-20 18:07 ` Glenn Morris
@ 2018-01-20 19:01 ` Eli Zaretskii
0 siblings, 0 replies; 45+ messages in thread
From: Eli Zaretskii @ 2018-01-20 19:01 UTC (permalink / raw)
To: Glenn Morris; +Cc: phst, p.stephani2, 30106
> From: Glenn Morris <rgm@gnu.org>
> Cc: p.stephani2@gmail.com, phst@google.com, 30106@debbugs.gnu.org
> Date: Sat, 20 Jan 2018 13:07:47 -0500
>
> Eli Zaretskii wrote:
>
> >> You think the following is non-trivial?
> >
> > Yes, because it changes the configure script. How do we know it won't
> > fail builds on some obscure platforms?
>
> Basic common sense.
I'm afraid that has failed us more than once in the past.
> But don't worry, I've learnt that expressing my opinion is a waste of time.
I value your opinions very much, I just don't always agree with them
(as you don't with mine). I very much hope you don't decide to stop
voicing your opinions here.
^ permalink raw reply [flat|nested] 45+ messages in thread
end of thread, other threads:[~2018-01-20 19:01 UTC | newest]
Thread overview: 45+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-14 6:36 bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test' Jean Louis
2018-01-14 16:08 ` Eli Zaretskii
2018-01-14 17:47 ` Jean Louis
2018-01-14 19:44 ` Eli Zaretskii
2018-01-14 22:12 ` Jean Louis
2018-01-15 13:14 ` Eli Zaretskii
2018-01-15 17:56 ` Glenn Morris
2018-01-18 19:35 ` Philipp Stephani
2018-01-18 23:00 ` Glenn Morris
2018-01-15 18:09 ` Jean Louis
2018-01-15 18:55 ` Jean Louis
2018-01-15 20:15 ` Eli Zaretskii
2018-01-16 5:17 ` Jean Louis
2018-01-16 18:06 ` Glenn Morris
2018-01-16 19:17 ` Jean Louis
2018-01-16 18:10 ` Eli Zaretskii
2018-01-16 19:18 ` Jean Louis
2018-01-17 15:36 ` Eli Zaretskii
2018-01-17 17:03 ` Jean Louis
2018-01-17 18:25 ` Eli Zaretskii
2018-01-17 18:51 ` Glenn Morris
2018-01-17 18:58 ` Glenn Morris
2018-01-17 19:37 ` Jean Louis
2018-01-18 23:01 ` Glenn Morris
2018-01-17 20:05 ` Eli Zaretskii
2018-01-17 20:29 ` Glenn Morris
2018-01-17 22:16 ` Philipp Stephani
2018-01-17 22:18 ` Philipp Stephani
2018-01-17 22:28 ` bug#30106: [PATCH 1/2] Use recommended long options syntax in man page Philipp Stephani
2018-01-17 22:28 ` bug#30106: [PATCH 2/2] Fix module support if threads are disabled (Bug#30106) Philipp Stephani
2018-01-18 14:04 ` Eli Zaretskii
2018-01-18 14:23 ` Philipp Stephani
2018-01-18 15:23 ` Eli Zaretskii
2018-01-18 17:41 ` Glenn Morris
2018-01-18 18:53 ` Eli Zaretskii
2018-01-18 22:55 ` Glenn Morris
2018-01-19 7:58 ` Eli Zaretskii
2018-01-20 18:07 ` Glenn Morris
2018-01-20 19:01 ` Eli Zaretskii
2018-01-18 19:25 ` Philipp Stephani
2018-01-17 22:35 ` bug#30106: [PATCH 1/2] Use recommended long options syntax in man page Philipp Stephani
2018-01-18 13:59 ` bug#30106: Loading file /sources/emacs/lisp/emacs-lisp/ert.elc failed to provide feature `mod-test' Eli Zaretskii
2018-01-18 17:40 ` Glenn Morris
2018-01-17 19:20 ` Jean Louis
2018-01-17 18:32 ` Andy Moreton
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).