aboutsummaryrefslogtreecommitdiffstats
path: root/modules (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Update mod-test-sum-testKen Brown2015-11-291-1/+3
| | | | | * modules/mod-test/test.el (mod-test-sum-test): Update to accommodate the lack of dladdr on Cygwin.
* ; * modules/mod-test/Makefile: Fix typo.Ken Brown2015-11-281-1/+1
|
* Add module tests for wrong-type-argumentEli Zaretskii2015-11-271-1/+3
| | | | | * modules/mod-test/test.el (mod-test-sum-test): Add tests for wrong-type-argument.
* Add one more mod-test testEli Zaretskii2015-11-241-1/+11
| | | | | | * modules/mod-test/test.el (mod-test-sum-test): Test the error signaled when the function is invoked with a wrong number of arguments.
* * modules/mod-test/mod-test.c (Fmod_test_sum): Verify there are 2 args.Philipp Stephani2015-11-241-0/+2
|
* Fix module test to use ptrdiff_t nargs tooPaul Eggert2015-11-201-20/+18
| | | | | | | | | | * 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.
* Minor improvements in module testEli Zaretskii2015-11-202-2/+3
| | | | | | | * 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.
* Prefer signed integer types in module codePaul Eggert2015-11-191-7/+7
| | | | | | | | | | | | | | | | | | 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.
* Omit ‘const’ on localsPaul Eggert2015-11-191-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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’.
* Prefer intmax_t to int64_t in module codePaul Eggert2015-11-191-4/+5
| | | | | | | | | | | * 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.
* Rename module.c to emacs-module.c, etc.Paul Eggert2015-11-192-2/+2
| | | | | | * src/emacs-module.c: Rename from src/module.c. * src/emacs-module.h: Rename from src/module.h. All uses changed.
* Style fixes for indenting etc. in module codePaul Eggert2015-11-193-110/+114
| | | | | | | 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.
* Minor improvements in modules testing MakefileEli Zaretskii2015-11-191-4/+16
| | | | | | * modules/mod-test/Makefile (EMACS, SO): New variables. (CFLAGS): When SO = dll, don't use -fPIC. (check): New target, runs the test.
* Migrate modules/.gitignore into .gitignorePaul Eggert2015-11-191-8/+0
| | | | | * .gitignore: Add former contents of modules/.gitignore. * modules/.gitignore: Remove.
* Add copyright notices to module codePaul Eggert2015-11-194-3/+75
| | | | Put them in the usual format for GNU Emacs copyright notices.
* Rename emacs_module.h to module.hPaul Eggert2015-11-192-2/+2
| | | | | * src/module.h: Rename from src/emacs_module.h. All uses changed.
* Add dynamic module test and helper scriptAurélien Aptel2015-11-185-0/+546
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>