* 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 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: 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-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-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-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: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 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: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 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: 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 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: [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 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: [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
* 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: [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: 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: 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 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
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).