1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-01 09:51:22 -08:00
Commit graph

3673 commits

Author SHA1 Message Date
Stefan Monnier
e408f2fab2 * test/lisp/emacs-lisp/find-func-tests.el: New file (for bug#43393)
* lisp/emacs-lisp/ert-x.el (ert-simulate-keys): New macro.

* test/lisp/international/mule-tests.el
(mule-cmds--test-universal-coding-system-argument): Use it and enable
the test also in batch mode.
2020-09-14 16:04:22 -04:00
Mattias Engdegård
0e00f199cd Calc: fix binomial coefficients for negative arguments (bug#16999)
For some values outside integers 0≤k≤n, (n choose k) gave wrong
results, entered infinite recursion or used unreasonably amounts of
stack space.  This change fixes that and extends the function to all
integer arguments using the definitions from M. J. Kronenburg
(https://arxiv.org/abs/1105.3689).

* lisp/calc/calc-comb.el (calcFunc-choose):
Fix sign error to prevent infinite recursion and extend function to
handle all integer arguments.
(math-choose-iter, math-choose-float-iter): Rewrite in iterative form;
no TCO in elisp yet.
* test/lisp/calc/calc-tests.el (calc-tests--fac, calc-tests--choose)
(calc-tests--check-choose, calc-tests--explain-choose)
(calc-tests--calc-to-number): New helper functions.
(calc-choose): New test.
2020-09-14 11:19:22 +02:00
Philipp Stephani
da0e75e741 Add facility to make module functions interactive (Bug#23486).
* src/module-env-28.h: Add field for 'make_interactive' function.

* src/emacs-module.c (Lisp_Module_Function): Add new field holding the
interactive form.
(allocate_module_function): Adapt to structure layout change.
(module_make_interactive, module_function_interactive_form): New
functions.
(initialize_environment): Use them.

* src/eval.c (Fcommandp):
* src/data.c (Finteractive_form): Also handle interactive module
functions.

* test/data/emacs-module/mod-test.c (Fmod_test_identity): New test
function.
(emacs_module_init): Create two interactive module test functions.

* test/src/emacs-module-tests.el (module/interactive/return-t)
(module/interactive/return-t-int, module/interactive/identity):
New unit tests.

* doc/lispref/internals.texi (Module Functions): Document new
function.  Rework paragraph about wrapping module functions, as the
example no longer applies.

* etc/NEWS: Document new facility.
2020-09-13 20:26:47 +02:00
Lars Ingebrigtsen
c2dea983e8 Kill gpg-agents started by mml-sec-tests (bug#43358) 2020-09-13 16:05:25 +02:00
Michael Albinus
a6321fd799 Fix a conversion failure in tramp-archive-tests (Bug#43353)
* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test-file-archive-hexlified): New defun.
(tramp-archive-test02-file-name-dissect): Use it.  (Bug#43353)
2020-09-13 13:25:52 +02:00
Glenn Morris
18f390af8f Don't force LC_ALL=C upon make check (bug#43353)
* test/Makefile.in (TEST_LOCALE): Remove.
(emacs): Don't force LC_ALL=C, since it causes problems with
non-ascii directories.  This mirrors a 7-year old lisp/Makefile change.
2020-09-12 20:22:37 -07:00
Glenn Morris
5e7733694e Mark some diff tests as failing in nonascii directories
* test/lisp/vc/diff-mode-tests.el (diff-mode-test-font-lock)
(diff-mode-test-font-lock-syntax-one-line):
Expect failure in non-ascii directories.

; * lisp/vc/diff-mode.el (diff-hunk-file-names): Comment.
2020-09-12 19:47:29 -07:00
Glenn Morris
3e073520b3 Adapt some tests for Emacs's excitingly variable quoting format
* test/lisp/subr-tests.el (subr-test-version-parsing):
* test/lisp/emacs-lisp/gv-tests.el (gv-dont-define-expander-other-file):
* test/src/callint-tests.el (call-interactively/incomplete-multibyte-sequence):
* test/src/emacs-module-tests.el (module/describe-function-1):
Don't fail if curly quotes are in use, as they can be if LC_ALL != C.
2020-09-12 11:57:42 -07:00
Glenn Morris
6818867a2e ; Fix copyright years 2020-09-12 10:56:04 -07:00
Michael Albinus
2fca3015dd Cleanup in dbus.el, dbus-tests.el
* lisp/net/dbus.el (dbus-error-no-reply): New defconst.
(dbus-call-method): Use it.
(dbus-call-method-asynchronously, dbus-register-signal): Fix docstring.
(dbus-unregister-object): Obey :serial entries in
`dbus-registered-objects-table'.

* test/lisp/net/dbus-tests.el (dbus-test04-register-method)
(dbus-test05-register-property): Extend tests.
2020-09-12 19:33:44 +02:00
Stefan Kangas
7d30ca7f66 Move dired-jump from dired-x to dired (Bug#21981)
* lisp/dired-x.el (dired-bind-jump): Change into defvar and make
obsolete.
(dired-extra-startup): Doc fix.
(dired-jump, dired-jump-other-window): Move from here...
* lisp/dired.el (dired-jump, dired-jump-other-window): ...to here.

* lisp/bindings.el (ctl-x-map, ctl-x-4-map): Bind 'C-j' to
'dired-jump' and 'dired-jump-other-window'.

* doc/misc/dired-x.texi (Features, Installation)
(Miscellaneous Commands): Remove documentation of 'dired-jump'.
* doc/emacs/dired.texi (Dired Enter): Document 'dired-jump' and
dired-jump-other-window.
* etc/NEWS: Announce the above changes.

* test/lisp/dired-tests.el (dired-autoload): Adjust test.
2020-09-12 03:42:37 +02:00
Michael Albinus
dbd8994e0d D-Bus: Implement other compound types of properties
* doc/misc/dbus.texi (Errors and Events):
* etc/NEWS: Mention dbus-show-dbus-errors.

* lisp/net/dbus.el (dbus-compound-types): New defconst.
(dbus): New defgroup.
(dbus-show-dbus-errors): New defcustom.
(dbus-ignore-errors): Use it.
(dbus-set-property): Simplify.
(dbus-property-handler): Implement other compound types of properties.

* test/lisp/net/dbus-tests.el (dbus--test-register-service)
(dbus-test05-register-property): Extend tests.
2020-09-11 15:34:33 +02:00
Mattias Engdegård
c0eee8cb2c Calc: regularise test names
* test/lisp/calc/calc-tests.el (calc-remove-units, calc-extract-units)
(calc-convert-units, calc-bug-23889, calc-trig, calc-format-radix)
(calc-calendar, calc-solve-linear-system):
Use a uniform naming convention (calc- prefix) to simplify test running.
2020-09-11 13:11:43 +02:00
Stefan Kangas
4ba71eee8d Convert indent test for css-mode into automatic test
* test/lisp/textmodes/css-mode-tests.el (css-mode-test-indent): New
test.
(css-mode-tests-data-dir): New variable.
* test/manual/indent/css-mode.css: Move from here...
* test/lisp/textmodes/css-mode-resources/test-indent.css: ...to here.
2020-09-10 20:40:34 +02:00
Stefan Kangas
498773447a ; * test/manual/indent/elisp.el: Use lexical-binding. 2020-09-10 20:31:42 +02:00
Stefan Kangas
262d0c6acf Mark some tests as expensive
* test/lisp/autorevert-tests.el
(auto-revert-test00-auto-revert-mode)
(auto-revert-test03-auto-revert-tail-mode)
(auto-revert-test04-auto-revert-mode-dired):
* test/lisp/cedet/semantic-utest-c.el
(semantic-test-c-preprocessor-simulation):
* test/lisp/cedet/srecode-utest-getset.el
(srecode-utest-getset-output):
* test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264):
* test/lisp/emacs-lisp/package-tests.el
(package-test-update-archives-async):
* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test04-autorevert)
(file-notify-test05-file-validity, file-notify-test08-backup):
* test/lisp/net/gnutls-tests.el (test-gnutls-005-aead-ciphers):
* test/lisp/shadowfile-tests.el (shadow-test00-clusters)
(shadow-test09-shadow-copy-files):
2020-09-10 20:25:19 +02:00
Stefan Kangas
be4c4a7389 Use lexical-binding in mml-sec-tests.el
* test/lisp/gnus/mml-sec-tests.el: Use lexical-binding.
(mml-secure-test-mail-fixture)
(mml-secure-test-en-decrypt-with-passphrase): Fix warnings.
2020-09-10 19:32:53 +02:00
Stefan Kangas
ba3e2b80c0 * test/lisp/org/org-tests.el: Use lexical-binding. 2020-09-10 19:32:53 +02:00
Stefan Kangas
d32cf354b0 Use lexical-binding in url-future-tests.el
* test/lisp/url/url-future-tests.el: Use lexical-binding.
(url-future-tests--saver): New variable.
(url-future-tests): Use new variable.
2020-09-10 19:32:53 +02:00
Stefan Kangas
88a25960ec Use lexical-binding in semantic-utest-c.el
* test/lisp/cedet/semantic-utest-c.el: Use lexical-binding.
(semantic-test-gcc-output-parser): Fix warning.
2020-09-10 19:32:53 +02:00
Michael Albinus
be5047c0d2 Implement D-Bus properties with compound type.
* lisp/net/dbus.el (dbus-set-property): Fix thinko.
(dbus-register-property, dbus-property-handler): Support compound
properties.

* src/dbusbind.c (dbus-registered-objects-table): Fix docstring.

* test/lisp/net/dbus-tests.el (dbus--test-interface): Make it
different to `dbus--test-service'.
(dbus-test05-register-property)
(dbus-test05-register-property-several-paths): Adapt tests.
2020-09-10 18:49:22 +02:00
Naoya Yamashita
66509f2ead Add gv-define-expander for plist-get
It is necessary to make plist-get as a generalized variable, and this
definition allows user to use setf and other useful functions on
plist-get.

* lisp/emacs-lisp/gv.el: Add gv-define-expander for plist-get

* lisp/emacs-lisp/gv-tests.el: Add new tests for plist-get
2020-09-09 13:50:05 -04:00
Glenn Morris
5a9e237e15 Merge from origin/emacs-27
9b35b0c99c ; * lisp/man.el (Man-mode): Fix formatting.
abca75d2e9 ; Fix typos; change "Emacs-Lisp" to "Emacs Lisp"
2020-09-09 07:51:14 -07:00
Michael Albinus
4fa5bad400 Fix thinko in dbus.el
* doc/misc/dbus.texi (Register Objects): Rename from "Receiving
Method Calls".  Add reference to D-Bus API Design document.

* lisp/net/dbus.el (dbus-managed-objects-handler): Fix thinko.

* test/lisp/net/dbus-tests.el (dbus-test05-register-property)
(dbus-test05-register-property-several-paths): Extend tests.
2020-09-09 14:53:26 +02:00
Daniel Martín
3e5259a268 Use mouse-wheel-up-event in mwheel-tests.el
Enabling mouse-wheel-mode binds two different mouse events, depending
on the operating system. The correct way to check for those events is
by checking mouse-wheel-up-event, as explained in the ELisp manual.

* test/lisp/mwheel-tests.el (mwheel-test-enable/disable): Check
mouse-wheel-up-event instead of mouse-4 to make the test work
irrespective of the platform it's running.
2020-09-08 18:31:15 +02:00
Glenn Morris
7865b4044d Skip failing cperl test on hydra
* test/lisp/progmodes/cperl-mode-tests.el (cperl-mode-test-bug-10483):
Skip on hydra.nixos.org.
2020-09-08 08:55:23 -07:00
Michael Albinus
39230fadbc Implement typed D-Bus properties (Bug#43252)
* doc/misc/dbus.texi (Properties and Annotations)
(Receiving Method Call): Document optional type symbol in
`dbus-set-property' and `dbus-register-property'.

* lisp/net/dbus.el (dbus-error-unknown-interface)
(dbus-error-unknown-method, dbus-error-unknown-object)
(dbus-error-unknown-property): New defconsts.
(dbus-peer-handler): Improve error handling.
(dbus-introspect-get-signature): Handle also properties.
(dbus-set-property, dbus-register-property): Allow optional TYPE
symbol for VALUE.  (Bug#43252)
(dbus-property-handler): Implement property types.  Improve error
handling.

* src/dbusbind.c (dbus-message-internal, dbus-registered-objects-table):
Fix docstring.

* test/lisp/net/dbus-tests.el (dbus-test05-register-property):
Extend test.
(dbus-test05-register-property-several-paths): New test.
2020-09-08 16:24:11 +02:00
Lars Ingebrigtsen
5312e56d43 Fix test failure in custom--test-theme-variables
* test/lisp/custom-tests.el (custom--test-theme-variables): "make
check" in the main directory didn't work because the path was
wrong.  Use EMACS_TEST_DIRECTORY to find the test directory
instead.
2020-09-07 18:19:47 +02:00
Lars Ingebrigtsen
f681c097f2 Require ert in the cperl tests, since it's reloading itself 2020-09-07 18:13:58 +02:00
Stefan Kangas
a3ca531876 ; Fix typos 2020-09-07 02:02:38 +02:00
Michael Albinus
9ba575aeb3 More work on D-Bus error messages
* lisp/net/dbus.el (dbus-get-property): Adapt docstring.
(dbus-set-property): Handle case of `:write' access type.
(dbus-get-other-registered-properties): Rename from
`dbus-get-other-registered-property'.
(dbus-property-handler): Fix thinkos.

* src/dbusbind.c (xd_read_message_1): Add error_name to event args
in case of DBUS_MESSAGE_TYPE_ERROR.

* test/lisp/net/dbus-tests.el (dbus--test-enabled-session-bus)
(dbus--test-enabled-system-bus): Make them defconst.
(dbus--test-service, dbus--test-path, dbus--test-interface):
New defconst.  Replace all occurences of `dbus-service-emacs' by
`dbus--test-service'.
(dbus--test-method-handler): New defun.
(dbus-test04-register-method, dbus-test05-register-property): New tests.
2020-09-06 20:45:29 +02:00
Michael Albinus
940ea15491 Adapt tramp-test30-make-process
* test/lisp/net/tramp-tests.el (tramp-list-tramp-buffers)
(tramp-time-diff): Don't declare.
(tramp-test30-make-process): Adapt test.
2020-09-05 19:29:47 +02:00
Mauro Aranda
31c3f53816 Preserve user customizations after disabling a theme
* lisp/custom.el (enable-theme): Since we are enabling the theme, bind
custom--inhibit-theme-enable to nil.  Then rely on custom-push-theme
to do the right thing with the theme settings and prior user settings,
instead of manipulating the property here.  This way, when disabling a
theme, we restore user preferences, even when the values were changed
outside of customize.
(disable-theme): Call custom-push-theme instead of handling theme
settings directly.
(custom-push-theme): Avoid another instance of Bug#28904: we don't
need the changed theme when the value recorded for it is going to be
the same as the recorded for the user theme.

* test/lisp/custom-tests.el (custom--test-theme-variables): Get rid of
a portion of the test that will always fail, because the user theme
has priority over every other theme.  Expect the test to pass now that
we preserve user customizations after disabling a theme (bug#34027).
2020-09-05 13:53:18 +02:00
Harald Jörg
70af9a9cb9 Fix infloop when indenting in cperl-mode
* lisp/progmodes/cperl-mode.el (cperl-indent-exp): Fix (Bug#10483)
Perl expressions (e.g. function calls) ending in ")" without
statement terminator on the same line no longer loop endlessly.
2020-09-04 05:13:43 +02:00
Harald Jörg
7921b5db10 Fix freeze in cperl-mode when editing a regexp
* lisp/progmodes/cperl-mode.el (cperl-forward-group-in-re): Make
sure that an error is reported back to the caller (Bug#16368).

* test/lisp/progmodes/cperl-mode-tests.el (cperl-mode-test-bug-16368):
Tests for balanced (no error) and unbalanced (caught exception)
cases of `cperl-forward-group-in-re'.
2020-09-03 22:58:07 +02:00
Stefan Kangas
00b22239ab ; * test/lisp/progmodes/cperl-mode-tests.el: Add license statement. 2020-09-03 21:59:12 +02:00
Eli Zaretskii
a4e45a13b6 Fix 'expand-file-name' for remote files
This reverts most of commit 14fb657ba8
and its followup fixes, and instead fixes the original bugs in a
different manner that doesn't affect any unrelated use cases.  As
part of this, the code which caused 'expand-file-name' to enforce
a trailing slash on expanded directories is removed, as this kind
of semantic processing is outside of 'expand-file-name's scope.
* src/fileio.c (Fexpand_file_name): If expanding default_directory
yields a remote file name, call its handlers.  (Bug#26911)
(Bug#34834)

* doc/lispref/files.texi (File Name Expansion): Remove the
requirement that expanding a directory name yields a directory
name, i.e. that the expansion must end in a slash.

* etc/NEWS: Remove the announcement of the changed behavior of
'expand-file-name' wrt trailing slashes.

* test/src/fileio-tests.el (fileio-tests--HOME-trailing-slash)
(fileio-tests--expand-file-name-trailing-slash): Remove tests.
* test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name): No
need to expect different results in Emacs 28 and later.
2020-09-03 20:16:33 +03:00
Stefan Kangas
76e8d935a7 Simplify mwheel-mode by using alist instead of two variables
* lisp/mwheel.el (mouse-wheel--remove-bindings): Update call
signature to take no arguments.  Doc fix.
(mouse-wheel--add-binding): Break out from...
(mouse-wheel-mode): ...here.  Simplify by using above functions.
(mouse-wheel--installed-bindings-alist): New variable.
(mwheel-installed-bindings): Make obsolete.
(mwheel-installed-text-scale-bindings): Make obsolete.
* test/lisp/mwheel-tests.el (mwheel-test-enable/disable):
New test.
2020-09-02 23:18:02 +02:00
Stefan Kangas
77a5b696bb Fix binding mouse wheel with modifiers in buffer area
* test/lisp/mwheel-tests.el (mwheel-test--create-scroll-keys): Fix
binding mouse wheel with modifiers in buffer area, while ignoring them
for fringes, margins, etc.  My previous change mistakenly ignored all
modifiers in `mouse-wheel-scroll-amount'.
* lisp/mwheel.el (mouse-wheel--create-scroll-keys): Fix test to
reflect the above.
2020-09-02 22:57:24 +02:00
Ulf Jasper
c5e8254b9c Apply icalendar.el patch by Thomas Plass <thunk2@arcor.de>. Fix bug#34315.
* lisp/calendar/icalendar.el (icalendar--convert-tz-offset): No DST
  when RDATE is present.
* lisp/calendar/icalendar.el (icalendar--parse-vtimezone): Use
  `icalendar--get-most-recent-observance'.
* (icalendar--get-most-recent-observance): New.
* (icalendar--decode-isodatetime): Add parameters source-zone, result-zone.
* (icalendar--decode-isoduration): Fix decoding days.
* test/lisp/calendar/icalendar-tests.el (icalendar--decode-isoduration):
  Add testcases.
2020-09-02 19:58:56 +02:00
Ulf Jasper
e381c2f7f0 Add unit tests for icalendar.el
* test/lisp/calendar/icalendar-tests.el (icalendar--parse-vtimezone,
  icalendar--decode-isodatetime): Add testcases.
* test/lisp/calendar/icalendar-tests.el (icalendar--convert-tz-offset,
  icalendar--decode-isoduration): New.
2020-09-02 19:45:54 +02:00
Stefan Kangas
a50b8397f4 Use lexical-binding in pcmpl-linux.el and add tests
* lisp/pcmpl-linux.el: Use lexical-binding.
(pcmpl-linux-fs-modules-path-format)
(pcmpl-linux-mtab-file): New constants.
(pcmpl-linux-fs-types, pcmpl-linux-mounted-directories): Use above
new constants.
* test/lisp/pcmpl-linux-resources/fs/ext4/.keep:
* test/lisp/pcmpl-linux-resources/mtab:
* test/lisp/pcmpl-linux-tests.el: New files.
2020-09-02 12:53:02 +02:00
Stefan Kangas
abca75d2e9 ; Fix typos; change "Emacs-Lisp" to "Emacs Lisp" 2020-09-02 00:01:37 +02:00
Stefan Kangas
6593d73928 Use lexical-binding in life.el and add tests
* lisp/play/life.el: Use lexical-binding.
(life--tick): Extract from...
(life): ...here.
(life--max-width, life--max-height): New variables.
(life-mode, life-setup): Use above variables.

* test/lisp/play/life-tests.el: New file.
2020-08-30 21:09:07 +02:00
Stefan Kangas
cb1563f3ca Convert manual rmailmm tests to ert
* test/manual/rmailmm.el: Move from here...
* test/lisp/mail/rmailmm-tests.el: ...to here, and convert to ert.
2020-08-30 02:46:06 +02:00
Stefan Kangas
826192409a Convert unsafep tests to ert
* lisp/emacs-lisp/tcover-unsafep.el: Move from here...
* test/lisp/emacs-lisp/unsafep-tests.el: ...to here, and convert to
use ert instead of tcover.
2020-08-29 23:35:00 +02:00
Stefan Kangas
2aeff0794a Use lexical-binding in more tests
* test/lib-src/emacsclient-tests.el:
* test/lisp/emacs-lisp/hierarchy-tests.el:
* test/lisp/eshell/eshell-tests.el:
* test/lisp/gnus/gnus-util-tests.el:
* test/lisp/progmodes/js-tests.el:
* test/lisp/textmodes/bibtex-tests.el:
* test/src/editfns-tests.el:
* test/src/fns-tests.el: Use lexical-binding.

* test/lisp/emacs-lisp/hierarchy-tests.el
(hierarchy-leafs-includes-lonely-roots):
* test/src/editfns-tests.el (transpose-test-get-byte-positions):
* test/src/fns-tests.el (fns-tests-func-arity):
Adjust for lexical-binding.
2020-08-29 22:41:51 +02:00
Paul Eggert
e709c187fd Mark failing fileio test on MS-Windows
* test/src/fileio-tests.el (fileio-tests--HOME-trailing-slash):
Expect failure on MS-Windows.
2020-08-29 13:34:40 -07:00
Mattias Engdegård
63578dc435 * test/lisp/emacs-lisp/rx-tests.el: Improve test coverage. 2020-08-29 13:10:18 +02:00
Daniel Martín
6e25d61544 Add support for parsing column numbers in Visual Studio messages
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
Extend regular expression to match optional column numbers.
*
test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data):
Add a test.
* test/lisp/progmodes/compile-tests.el (compile-test-error-regexps):
Update the total number of compilation errors in a test.
* etc/compilation.txt: Update compilation.txt with the newly supported
message format.
* etc/NEWS: Advertise the feature.
2020-08-28 14:45:15 -04:00