<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/modules/mod-test, branch scratch/obarray</title>
<subtitle>Emacs is the extensible, customizable, self-documenting real-time display editor. 
</subtitle>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/'/>
<entry>
<title>Integrate module test with normal test suite</title>
<updated>2017-04-29T12:38:53+00:00</updated>
<author>
<name>Philipp Stephani</name>
</author>
<published>2017-04-22T13:41:39+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=bfc0f610bac3f97930941e9a66cbcd11cd382167'/>
<id>bfc0f610bac3f97930941e9a66cbcd11cd382167</id>
<content type='text'>
* test/Makefile.in (ELFILES): Exclude module test if modules aren't
configured.
(EMACS_TEST_DIRECTORY): Expand test directory so that it's set
correctly even if Emacs changes the current directory.
($(srcdir)/src/emacs-module-tests.log)
($(test_module)): Proper dependency tracking for test module.

* test/data/emacs-module/Makefile (ROOT): Adapt to new location.
Remove 'check' target and EMACS variable, which are no longer
necessary.
(SO): Change to include period.

* test/src/emacs-module-tests.el (mod-test): Use EMACS_TEST_DIRECTORY
environment variable to reliably find test data.

* configure.ac (HAVE_MODULES, MODULES_SUFFIX): Add necessary
substitutions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* test/Makefile.in (ELFILES): Exclude module test if modules aren't
configured.
(EMACS_TEST_DIRECTORY): Expand test directory so that it's set
correctly even if Emacs changes the current directory.
($(srcdir)/src/emacs-module-tests.log)
($(test_module)): Proper dependency tracking for test module.

* test/data/emacs-module/Makefile (ROOT): Adapt to new location.
Remove 'check' target and EMACS variable, which are no longer
necessary.
(SO): Change to include period.

* test/src/emacs-module-tests.el (mod-test): Use EMACS_TEST_DIRECTORY
environment variable to reliably find test data.

* configure.ac (HAVE_MODULES, MODULES_SUFFIX): Add necessary
substitutions.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add check for expected backtrace in module calls.</title>
<updated>2017-03-26T20:17:34+00:00</updated>
<author>
<name>Philipp Stephani</name>
</author>
<published>2015-12-20T20:59:10+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=05bfebfc91bc053435287f560aeb956926d31583'/>
<id>05bfebfc91bc053435287f560aeb956926d31583</id>
<content type='text'>
* test.el (mod-test-non-local-exit-signal-test): Compare actual
  backtrace to expected backtrace.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* test.el (mod-test-non-local-exit-signal-test): Compare actual
  backtrace to expected backtrace.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright year to 2017</title>
<updated>2017-01-01T03:42:26+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2017-01-01T03:14:01+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=5badc81c1cdfbb261ad3e6d1b753defb15712f26'/>
<id>5badc81c1cdfbb261ad3e6d1b753defb15712f26</id>
<content type='text'>
Run admin/update-copyright.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Run admin/update-copyright.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rework C source files to avoid ^(</title>
<updated>2016-03-10T15:59:19+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2016-03-10T15:34:52+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=7352c6c695db8b90b63c2601277d64a32507d2bb'/>
<id>7352c6c695db8b90b63c2601277d64a32507d2bb</id>
<content type='text'>
Work around Bug#22884 by rewording comments and strings to avoid ‘(’
at the start of a line unless it starts a function.  This change
is a short-term hack; in the longer run we plan to fix cc-mode’s
performance for C files that have ‘(’ at the start of a line in a
comment or string.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Work around Bug#22884 by rewording comments and strings to avoid ‘(’
at the start of a line unless it starts a function.  This change
is a short-term hack; in the longer run we plan to fix cc-mode’s
performance for C files that have ‘(’ at the start of a line in a
comment or string.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright year to 2016</title>
<updated>2016-01-01T09:34:24+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2016-01-01T09:16:19+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=0e963201d03d9229bb8ac4323291d2b0119526ed'/>
<id>0e963201d03d9229bb8ac4323291d2b0119526ed</id>
<content type='text'>
Run admin/update-copyright.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Run admin/update-copyright.
</pre>
</div>
</content>
</entry>
<entry>
<title>Port mod-test to 32-bit Emacs --without-wide-int</title>
<updated>2015-12-06T22:55:16+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2015-12-06T22:54:29+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ace6c2530e32720fb8b9b8ead5f117c7ed382864'/>
<id>ace6c2530e32720fb8b9b8ead5f117c7ed382864</id>
<content type='text'>
* modules/mod-test/test.el (mod-test-sum-test):
Bring back the 2**29 tests, but port them to 32-bit Emacs
--without-wide-int.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* modules/mod-test/test.el (mod-test-sum-test):
Bring back the 2**29 tests, but port them to 32-bit Emacs
--without-wide-int.
</pre>
</div>
</content>
</entry>
<entry>
<title>Port mod-test to x86-64 GNU/Linux running 32-bit</title>
<updated>2015-12-06T17:09:58+00:00</updated>
<author>
<name>Paul Eggert</name>
</author>
<published>2015-12-06T16:55:30+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=2b3f5de2b31b90733a88868b31bed3f7038f7055'/>
<id>2b3f5de2b31b90733a88868b31bed3f7038f7055</id>
<content type='text'>
* modules/mod-test/test.el (mod-test-sum-test):
Don’t attempt to match descriptions to operating systems.
It didn’t work on Fedora x86-64 running a 32-bit executable,
and it’s not worth the trouble anyway.
Port to 32-bit platforms by removing an assumption about
fixnum widths.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* modules/mod-test/test.el (mod-test-sum-test):
Don’t attempt to match descriptions to operating systems.
It didn’t work on Fedora x86-64 running a 32-bit executable,
and it’s not worth the trouble anyway.
Port to 32-bit platforms by removing an assumption about
fixnum widths.
</pre>
</div>
</content>
</entry>
<entry>
<title>More emacs-module.c fixes for wide ints</title>
<updated>2015-12-02T14:06:01+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2015-12-02T14:06:01+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=36dbe6fc3e141e5b4c87efec5026931b89f026a5'/>
<id>36dbe6fc3e141e5b4c87efec5026931b89f026a5</id>
<content type='text'>
* src/emacs-module.c (value_to_lisp) [WIDE_EMACS_INT]: Use
unsigned data types to manipulate pointers, to avoid sign
extension coming after us with a vengeance.

* modules/mod-test/test.el (mod-test-sum-test): Add tests for
Emacs with wide ints that verify integer values near the critical
value that requires us to switch to a cons cell.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/emacs-module.c (value_to_lisp) [WIDE_EMACS_INT]: Use
unsigned data types to manipulate pointers, to avoid sign
extension coming after us with a vengeance.

* modules/mod-test/test.el (mod-test-sum-test): Add tests for
Emacs with wide ints that verify integer values near the critical
value that requires us to switch to a cons cell.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix emacs-module.c for wide ints</title>
<updated>2015-12-01T18:34:12+00:00</updated>
<author>
<name>Eli Zaretskii</name>
</author>
<published>2015-12-01T18:34:12+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=bdebeb77a001fc4d9ee8392829cd7bc6cd11d7d1'/>
<id>bdebeb77a001fc4d9ee8392829cd7bc6cd11d7d1</id>
<content type='text'>
* src/emacs-module.c (lisp_to_value): Compare the produced value
with the original Lisp object, not with the one potentially
converted into a Lisp_Cons.  Fixes assertion violations when
working with integers larger than fit into a 32-bit value.

* modules/mod-test/test.el (mod-test-sum-test): Add tests for
large integers, to test --with-wide-int.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/emacs-module.c (lisp_to_value): Compare the produced value
with the original Lisp object, not with the one potentially
converted into a Lisp_Cons.  Fixes assertion violations when
working with integers larger than fit into a 32-bit value.

* modules/mod-test/test.el (mod-test-sum-test): Add tests for
large integers, to test --with-wide-int.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rely on conservative stack scanning to find "emacs_value"s</title>
<updated>2015-11-30T19:34:42+00:00</updated>
<author>
<name>Stefan Monnier</name>
</author>
<published>2015-11-30T19:34:42+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=3eb93c07f7a60ac9ce8a16f10c3afd5a3a31243a'/>
<id>3eb93c07f7a60ac9ce8a16f10c3afd5a3a31243a</id>
<content type='text'>
* src/emacs-module.c (struct emacs_value_tag)
(struct emacs_value_frame, struct emacs_value_storage): Remove.
(value_frame_size): Remove constant.
(struct emacs_env_private): Use Lisp_Object for non_local_exit info.
(lisp_to_value): Remove first arg.
(module_nil): New constant.
Use it instead of NULL when returning an emacs_value.
(module_make_function): Adjust to new calling convention of
Qinternal_module_call.
(DEFUN): Receive args in an array rather than a list.
Use SAFE_ALLOCA rather than xnmalloc.  Skip the lisp_to_value loop when
we don't have WIDE_EMACS_INT.  Adjust to new type of non_local_exit info.
(module_non_local_exit_signal_1, module_non_local_exit_throw_1):
Adjust to new type of non_local_exit info.
(ltv_mark) [WIDE_EMACS_INT]: New constant.
(value_to_lisp, lisp_to_value): Rewrite.
(initialize_frame, initialize_storage, finalize_storage): Remove functions.
(allocate_emacs_value): Remove function.
(mark_modules): Gut it.
(initialize_environment): Don't initialize storage any more.
Keep the actual env object on Vmodule_environments.
(finalize_environment): Don't finalize storage any more.
(syms_of_module): Initialize ltv_mark and module_nil.

* src/emacs-module.h (emacs_value): Make it more clear that this type
is really opaque, including the fact that NULL may not be valid.

* modules/mod-test/mod-test.c (Fmod_test_signal, Fmod_test_throw):
Don't assume that NULL is a valid emacs_value.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/emacs-module.c (struct emacs_value_tag)
(struct emacs_value_frame, struct emacs_value_storage): Remove.
(value_frame_size): Remove constant.
(struct emacs_env_private): Use Lisp_Object for non_local_exit info.
(lisp_to_value): Remove first arg.
(module_nil): New constant.
Use it instead of NULL when returning an emacs_value.
(module_make_function): Adjust to new calling convention of
Qinternal_module_call.
(DEFUN): Receive args in an array rather than a list.
Use SAFE_ALLOCA rather than xnmalloc.  Skip the lisp_to_value loop when
we don't have WIDE_EMACS_INT.  Adjust to new type of non_local_exit info.
(module_non_local_exit_signal_1, module_non_local_exit_throw_1):
Adjust to new type of non_local_exit info.
(ltv_mark) [WIDE_EMACS_INT]: New constant.
(value_to_lisp, lisp_to_value): Rewrite.
(initialize_frame, initialize_storage, finalize_storage): Remove functions.
(allocate_emacs_value): Remove function.
(mark_modules): Gut it.
(initialize_environment): Don't initialize storage any more.
Keep the actual env object on Vmodule_environments.
(finalize_environment): Don't finalize storage any more.
(syms_of_module): Initialize ltv_mark and module_nil.

* src/emacs-module.h (emacs_value): Make it more clear that this type
is really opaque, including the fact that NULL may not be valid.

* modules/mod-test/mod-test.c (Fmod_test_signal, Fmod_test_throw):
Don't assume that NULL is a valid emacs_value.
</pre>
</div>
</content>
</entry>
</feed>
