1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-24 07:20:37 +00:00
Commit Graph

16 Commits

Author SHA1 Message Date
Ken Brown
0c517aa613 ; * modules/mod-test/Makefile: Fix typo. 2015-11-28 20:31:17 -05:00
Eli Zaretskii
8dcdca346f Add module tests for wrong-type-argument
* modules/mod-test/test.el (mod-test-sum-test): Add tests for
wrong-type-argument.
2015-11-27 13:11:00 +02:00
Eli Zaretskii
33ec2ff0f8 Add one more mod-test test
* modules/mod-test/test.el (mod-test-sum-test): Test the error
signaled when the function is invoked with a wrong number of
arguments.
2015-11-24 21:13:46 +02:00
Philipp Stephani
298b2b3f35 * modules/mod-test/mod-test.c (Fmod_test_sum): Verify there are 2 args. 2015-11-24 21:08:22 +02:00
Paul Eggert
39d13206f3 Fix module test to use ptrdiff_t nargs too
* modules/mod-test/mod-test.c (Fmod_test_return_t)
(Fmod_test_sum, Fmod_test_signal, Fmod_test_throw)
(Fmod_test_non_local_exit_funcall, Fmod_test_globref_make)
(Fmod_test_string_a_to_b, Fmod_test_userptr_make)
(Fmod_test_userptr_get, Fmod_test_vector_fill)
(Fmod_test_vector_eq): Arg counts are ptrdiff_t, not int.
(finalizer): Remove; no longer used.
2015-11-20 12:18:17 -08:00
Eli Zaretskii
c0c309e4cd Minor improvements in module test
* modules/mod-test/mod-test.c: Include stdlib.h, to avoid warnings
about missing prototype of malloc.
* modules/mod-test/Makefile (CFLAGS): Add -std=gnu99, to avoid
compiler warnings.
2015-11-20 13:37:25 +02:00
Paul Eggert
92949781eb Prefer signed integer types in module code
Generally speaking, at the C level the Emacs source code prefers
signed types like ‘ptrdiff_t’ to unsigned types like ‘size_t’,
partly to avoid the usual signedness confusion when comparing values.
Change the module API to follow this convention.
Use ‘int’ for small values that can’t exceed INT_MAX.
* modules/mod-test/mod-test.c (Fmod_test_globref_make)
(Fmod_test_string_a_to_b, Fmod_test_vector_fill)
(Fmod_test_vector_eq):
* src/emacs-module.c (struct emacs_value_frame)
(module_make_global_ref, module_free_global_ref)
(module_copy_string_contents, module_make_string)
(module_vec_set, module_vec_get, module_vec_size):
* src/emacs-module.h (struct emacs_runtime, struct emacs_env_25):
* src/lread.c (suffix_p):
Prefer signed to unsigned integer types.
2015-11-19 15:01:49 -08:00
Paul Eggert
d9b300af5c Omit ‘const’ on locals
Remove ‘const’ qualifier from locals that were newly added.
We don’t normally bother declaring locals with ‘const’ even
though they are not modified, for the same reason we don’t
bother declaring them with ‘register’ even though their
addresses are not taken; the advantage in compile-time
checking isn’t worth the loss of readability.
* modules/mod-test/mod-test.c (Fmod_test_non_local_exit_funcall)
(Fmod_test_vector_fill, Fmod_test_vector_eq):
* src/emacs-module.c (MODULE_SETJMP_1)
(module_make_global_ref, module_free_global_ref)
(module_non_local_exit_get, module_make_function)
(module_extract_integer, module_extract_float)
(module_get_user_ptr, module_set_user_ptr)
(module_get_user_finalizer, module_set_user_finalizer)
(module_vec_get, Fmodule_call)
(module_non_local_exit_signal_1)
(module_non_local_exit_throw_1, lisp_to_value)
(finalize_storage, allocate_emacs_value, mark_modules)
(module_handle_signal, module_handle_throw)
(module_format_fun_env):
* src/eval.c (push_handler, push_handler_nosignal)
(init_handler):
* src/lread.c (suffix_p):
Omit unnecessary ‘const’.
2015-11-19 14:25:17 -08:00
Paul Eggert
68d58e6973 Prefer intmax_t to int64_t in module code
* modules/mod-test/mod-test.c (sum, Fmod_test_sum):
* src/emacs-module.c (module_extract_integer)
(module_make_integer):
* src/emacs-module.h (struct emacs_env_25):
Prefer intmax_t to int64_t.  This doesn’t change the generated
code on any of the machines Emacs currently ports to, but it’s
at least in theory more future-proof as C99 doesn’t guarantee
that int64_t exists.
2015-11-19 14:04:00 -08:00
Paul Eggert
f2c0025921 Rename module.c to emacs-module.c, etc.
* src/emacs-module.c: Rename from src/module.c.
* src/emacs-module.h: Rename from src/module.h.
All uses changed.
2015-11-19 13:51:24 -08:00
Paul Eggert
c8a972b0c3 Style fixes for indenting etc. in module code
This is mostly indenting and spacing changes.  Also, remove
some unnecessary static decls instead of bothering to reindent them.
* src/module.h (EMACS_EXTERN_C_BEGIN): Remove, and do this inline,
as most other Emacs files do for this sort of thing.
2015-11-19 11:32:21 -08:00
Eli Zaretskii
7cd728c813 Minor improvements in modules testing Makefile
* modules/mod-test/Makefile (EMACS, SO): New variables.
(CFLAGS): When SO = dll, don't use -fPIC.
(check): New target, runs the test.
2015-11-19 19:49:29 +02:00
Paul Eggert
ca3bc790a7 Migrate modules/.gitignore into .gitignore
* .gitignore: Add former contents of modules/.gitignore.
* modules/.gitignore: Remove.
2015-11-19 08:21:41 -08:00
Paul Eggert
c8404f48a3 Add copyright notices to module code
Put them in the usual format for GNU Emacs copyright notices.
2015-11-19 08:14:51 -08:00
Paul Eggert
80f19fb898 Rename emacs_module.h to module.h
* src/module.h: Rename from src/emacs_module.h.
All uses changed.
2015-11-19 07:54:33 -08:00
Aurélien Aptel
955e25dbcd Add dynamic module test and helper script
Add 'modhelp.py' script (python2) to automate module testing and
module generation.

To build and test all modules in the modules/ dir
  $ ./modhelp.py test

To generate a module from template code (good starting point)
  $ ./modhelp init mynewtestmodule

See the script -h option for more documentation.

* modules/modhelp.py: New module helper script.
* modules/mod-test/Makefile: New file. Makefile for the test module.
* modules/mod-test/mod-test.c: New file. Test module source file.
* modules/mod-test/test.el: New file. ert test suite for the test module.
* modules/.gitignore: New file. Local .gitignore file.

Co-authored-by: Philipp Stephani <phst@google.com>
2015-11-18 14:24:35 -05:00