summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Use --module-assertions if modules are availablePhilipp Stephani2017-06-141-1/+7
| | | | | | | | Using --module-assertions helps us find bugs in the test module. But we can use it only if Emacs was compiled with module support. * test/Makefile.in (MODULES_EMACSOPT): New variable. (emacs): Use it.
* Define --module-assertions only of modules are availablePhilipp Stephani2017-06-141-0/+6
| | | | | | | | Fixes Bug#27352. * src/emacs.c (usage_message, standard_args): Define --module-assertions only if Emacs has been compiled with module support.
* ; Fix typo in INSTALLMichael Albinus2017-06-141-1/+1
|
* gnus-article-read-summary-keys: Don't move point for WDD and WDW commandsKatsumi Yamaoka2017-06-141-1/+1
| | | | | * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): No need to restore window config for WDD and WDW commands.
* lisp/net/soap-client.el: Bump version to 3.1.3Thomas Fitzsimmons2017-06-131-2/+2
| | | | | * lisp/net/soap-client.el: Bump version to 3.1.3. (soap-name-p): Fix checkdoc issue.
* Fix an HTTP encoding error in soap-client.elAlex Harsanyi2017-06-131-2/+5
| | | | | * lisp/net/soap-client.el (soap-invoke-internal): Make SOAPAction header a UTF-8 encoded string.
* Port cleanup attribute to Oracle Studio 12.5Paul Eggert2017-06-133-6/+5
| | | | | | | | | | | * INSTALL (--with-modules): List cleanup attribute as prereq. * src/conf_post.h (__has_attribute_cleanup): Remove; no longer needed. * src/emacs-module.c (MODULE_SETJMP_1): Don’t attempt to verify (__has_attribute (cleanup)), as Oracle Studio 12.5 supports __has_attribute only inside preprocessor expressions. The C compiler should check the cleanup attribute in the next line anyway. (module_reset_handlerlist): Remove an unnecessary ‘const’ that causes Oracle Studio 12.5 to refuse to compile.
* Fix running tests in without-modules buildsGlenn Morris2017-06-131-1/+1
| | | | | * test/Makefile.in (EMACSOPT): Remove option that is only defined with-modules. emacs-module-tests.el passes it where needed.
* * test/Makefile.in (src/emacs-module-tests.log): Out-of-tree fix.Glenn Morris2017-06-131-4/+3
|
* Inline test module Makefile into main test MakefilePhilipp Stephani2017-06-133-65/+32
| | | | | | | | | | | The test/data/emacs-module/Makefile only built a single target, and inlining it into test/Makefile simplifies dependency tracking and reduces code duplication. * configure.ac: Don't build test/data/emacs-module/Makefile. * Makefile.in ($(test_module)): Inline compilation. (clean): Also clean test module outputs.
* * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Do not handle locally on w32.Michael Albinus2017-06-131-4/+4
|
* Minor tweaks in Tramp manualMichael Albinus2017-06-132-6/+20
| | | | | | | | * doc/misc/trampver.texi: Add prefixwithspace flag. * doc/misc/tramp.texi (Password handling): Harmonize example. (File name completion): Use prefixwithspace flag. (Frequently Asked Questions): Explain `tramp-histfile-override'.
* Silence two Clang warnings by introducing additional local variablesPhilipp Stephani2017-06-132-12/+21
| | | | | | * lib/strftime.c (libc_hidden_def): * lib-src/make-docfile.c (put_filename): Introduce local variables to silence Clang warnings.
* Fix wrong indentation after string literal (Bug#27306)Noam Postavsky2017-06-132-14/+26
| | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-indent-state) (lisp-indent-calc-next): Remove `depth' field, use (car ppss) instead. * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-indent-region-after-string-literal): New test.
* Fix version checks for emacs-module.hPhilipp Stephani2017-06-131-4/+7
| | | | | We don't need C11 or C++11 because stdbool.h is in C99, and for C++ we don't need it at all.
* ; Fix docstringLele Gaifax2017-06-131-1/+1
| | | | | | | * lisp/bindings.el (mode-line-percent-position): End docstring first sentence with a period (Bug#27339). Copyright-paperwork-exempt: yes
* Buttonize #<bytecode> part of printed functions (Bug#25226)Noam Postavsky2017-06-121-4/+29
| | | | | | | | * lisp/emacs-lisp/cl-print.el: Autoload `disassemble-1'. (cl-print-compiled-button): New variable. (help-byte-code): New button type, calls `disassemble' in its action. (cl-print-object): Use it if `cl-print-compiled-button' is non-nil.
* Print module structure sizes when initializing test modulePhilipp Stephani2017-06-121-2/+12
| | | | | * test/data/emacs-module/mod-test.c (emacs_module_init): Print compile-time and runtime sizes of module structures to ease debugging
* Small portability fix for emacs-module.h (bug#27346)Glenn Morris2017-06-121-2/+5
| | | | | * src/emacs-module.h (EMACS_ATTRIBUTE_NONNULL) [!__has_attribute]: Avoid 'error: missing binary operator before token "("'.
* Give a more informative failure in module assertion testGlenn Morris2017-06-121-5/+8
| | | | | * test/src/emacs-module-tests.el (module--test-assertions): Rephrase final check to give a more informative failure.
* Fix off-by-one errorPhilipp Stephani2017-06-121-1/+1
| | | | | * test/data/emacs-module/mod-test.c (emacs_module_init): Fix off-by-one error.
* Clean up after module assertion testsGlenn Morris2017-06-121-20/+24
| | | | | * test/src/emacs-module-tests.el (module--test-assertions): Use a temporary directory to contain any core dumps.
* Small improvement for module assertion testGlenn Morris2017-06-121-15/+15
| | | | | * test/src/emacs-module-tests.el (module--test-assertions): Don't rely on the precise form of an "Abort" message.
* Improve previous test/data/emacs-module/Makefile changeGlenn Morris2017-06-121-1/+2
| | | | | * test/data/emacs-module/Makefile.in (clean): Avoid doing unpleasant things if run in a build without modules.
* Small improvements for test/data/emacs-module/MakefileGlenn Morris2017-06-121-2/+8
| | | | | | | * test/data/emacs-module/Makefile.in (%.o): Fix emacs-module dependency. (SECONDARY): Stop make automatically deleting *.o. (clean): New rule.
* * make-dist: Skip some more generated files in test/.Glenn Morris2017-06-121-1/+4
|
* Note how fullscreen differs on the NS portAlan Third2017-06-122-0/+10
| | | | | | doc/lispref/frames.texi (Size Parameters): doc/emacs/frames.texi (Tool Bars): Add a description of how macOS hides the tool-bar and menu-bar in fullscreen.
* Add no-focus-on-map to NS build (bug#25408)Alan Third2017-06-123-6/+33
| | | | | | | | | | | * src/nsfns.m (ns_frame_parm_handlers): Add x_set_no_focus_on_map. (x-create-frame): Check for no-focus-on-map. * src/nsterm.h (x_set_no_focus_on_map): New function. * src/nsterm.m (x_set_no_focus_on_map): New function. (ns_raise_frame): Add parameter for specifying whether to focus the frame. (ns_frame_raise_lower): (x_make_frame_visible): Handle new parameter for ns_raise_frame.
* _Noreturn not noreturnPaul Eggert2017-06-121-10/+14
| | | | | | | _Noreturn is more portable to non-C11 platforms. See: https://www.gnu.org/software/gnulib/manual/html_node/stdnoreturn_002eh.html * src/emacs-module.c: Use _Noreturn, not noreturn. No need to include <stdnoreturn.h>. Reindent to fit in 80 columns.
* Update make-dist for recent test/ changesGlenn Morris2017-06-121-1/+1
| | | | * make-dist: No longer distribute test/data/emacs-module/Makefile.
* ; Instrument `tramp-handle-file-name-case-insensitive-p' for debuggingMichael Albinus2017-06-121-0/+1
|
* Handle port and domain in Tramp's password cacheMichael Albinus2017-06-125-19/+56
| | | | | | | | | | | | | * doc/misc/tramp.texi (Password handling): Explain port and domain handling in authinfo. * lisp/net/tramp.el (tramp-process-actions, tramp-clear-passwd): * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askpassword): * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band) (tramp-maybe-open-connection): * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory) (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl) (tramp-smb-maybe-open-connection): Handle also domain and port.
* Avoid compilation warnings with pre-C99 libcEli Zaretskii2017-06-121-4/+5
| | | | | | * src/emacs-module.c (module_free_global_ref) (module_assert_runtime, module_assert_env, value_to_lisp): Use 'pD' instead of C99 't' format descriptor.
* Flush all output streams before abortingPhilipp Stephani2017-06-121-1/+1
| | | | | | | | Maybe the stdout buffer still contains something interesting that should be flushed. * src/emacs-module.c (module_abort): Flush all output streams before aborting.
* Remove an assertion that doesn't test Emacs invariantsPhilipp Stephani2017-06-121-2/+0
| | | | | * src/emacs-module.c (module_copy_string_contents): Remove an assertion that doesn't test Emacs invariants.
* Test module: add necessary version checksPhilipp Stephani2017-06-121-0/+6
| | | | | * test/data/emacs-module/mod-test.c (emacs_module_init): Add necessary version checks.
* Use additional CFLAGS from configurePhilipp Stephani2017-06-121-1/+7
|
* Use Autoconf to generate the test module MakefilePhilipp Stephani2017-06-124-14/+18
| | | | | | | | | | | | | This makes it easier to pass compilation flags around. * configure.ac: Also build test module Makefile. * test/data/emacs-module/Makefile.in: New makefile template. * test/Makefile.in ($(test_module)): No longer necessary to pass @MODULES_SUFFIX@ around. * .gitignore: Test module Makefile can now be ignored.
* Also compile test module as C11Philipp Stephani2017-06-121-2/+2
| | | | * test/data/emacs-module/Makefile (CFLAGS): Compile test module as C11
* Implement module assertions for usersPhilipp Stephani2017-06-127-67/+351
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new command-line option '-module-assertions' that users can enable developing or debugging a module. If this option is present, Emacs performs additional checks to verify that modules fulfill their requirements. These checks are expensive and crash Emacs if modules are invalid, so disable them by default. This is a command-line option instead of an ordinary variable because changing it while Emacs is running would cause data structure imbalances. * src/emacs.c (main): New command line option '-module-assertions'. * src/emacs-module.c (module_assert_main_thread) (module_assert_runtime, module_assert_env, module_assert_value): New functions to assert module requirements. (syms_of_module): New uninterned variable 'module-runtimes'. (init_module_assertions, in_main_thread, module_abort): New helper functions. (initialize_environment): Initialize value list. If assertions are enabled, use a heap-allocated environment object. (finalize_environment): Add assertion that environment list is never empty. (finalize_runtime_unwind): Pop module runtime object stack. (value_to_lisp): Assert that the value is valid. (lisp_to_value): Record new value if assertions are enabled. (mark_modules): Mark allocated object list. (MODULE_FUNCTION_BEGIN_NO_CATCH) (module_non_local_exit_check, module_non_local_exit_clear) (module_non_local_exit_get, module_non_local_exit_signal) (module_non_local_exit_throw): Assert thread and environment. (module_get_environment): Assert thread and runtime. (module_make_function, module_funcall, module_intern) (module_funcall, module_make_integer, module_make_float) (module_make_string, module_make_user_ptr, module_vec_get) (funcall_module, Fmodule_load): Adapt callers. (module_make_global_ref): If assertions are enabled, use the global environment to store global values. (module_free_global_ref): Remove value from global value list. * test/Makefile.in (EMACSOPT): Enable module assertions when testing modules. * test/data/emacs-module/mod-test.c (Fmod_test_invalid_store) (Fmod_test_invalid_load): New functions to test module assertions. (emacs_module_init): Bind the new functions. * test/src/emacs-module-tests.el (mod-test-emacs): New constant for the Emacs binary file. (mod-test-file): New constant for the test module file name. (module--test-assertions): New unit test.
* emacs-module: Use __attribute__((nonnull))Philipp Stephani2017-06-121-31/+67
| | | | | Annotate all parameters with __attribute__((nonnull)) that may not be NULL.
* Explicitly require C11 or C++11 in emacs-module.hPhilipp Stephani2017-06-121-1/+6
| | | | | | We already implicitly require them by including stdbool.h. Just make the error message a bit clearer, and remove an unnecessary version comparison.
* Add missing 'require' forms to prevent compiler warnings.Philipp Stephani2017-06-121-0/+2
| | | | | * lisp/eshell/esh-ext.el (esh-arg, esh-proc): Add missing requirements.
* Merge from gnulibPaul Eggert2017-06-114-25/+42
| | | | | | | | This incorporates: 2017-06-11 getopt-posix: port to glibc 2.25.90 2017-06-04 same-inode: port better to VMS 8.2 and later * doc/misc/texinfo.tex, lib/getopt-pfx-core.h, lib/getopt-pfx-ext.h: * m4/sys_types_h.m4: Copy from gnulib.
* Remove Lisp_Misc_FloatPaul Eggert2017-06-112-5/+0
| | | | | | | * src/data.c (Ftype_of): Do not worry about Lisp_Misc_Float. * src/lisp.h (Lisp_Misc_Float): Remove. This placeholder has been unused for two decades; if we ever want to change floats to be a misc type we can bring it back then.
* Make two symbols private to emacs-module.cPaul Eggert2017-06-112-13/+10
| | | | | | * src/lisp.h (allocate_module_function, XSET_MODULE_FUNCTION): Move from here ... * src/emacs-module.c: ... to here.
* Merge from origin/emacs-25Glenn Morris2017-06-111-1/+1
|\ | | | | | | da62c1532e4 (origin/emacs-25) Improve the documentation of filesets
| * Improve the documentation of filesetsEli Zaretskii2017-05-271-1/+1
| | | | | | | | | | * doc/emacs/files.texi (Filesets): Fix the description of fileset-init's effect on the menu bar. (Bug#27015)
* | ; Merge from origin/emacs-25Glenn Morris2017-06-110-0/+0
|\ \ | |/ | | | | | | | | | | The following commits were skipped: 16ef7539cb3 Don't advertise s_client in tls.el docs 94a6c964a45 Remove s_client usage from tls.el
| * Don't advertise s_client in tls.el docsGlenn Morris2017-05-222-8/+8
| | | | | | | | | | | | | | | | * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted): Don't mention s_client in docs. ; * doc/misc/gnus.texi (Direct Functions): Comment. (cherry picked from commit 622c24a2b75a564b9861fc3ca7a7878741e8568d)