1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-03 06:00:50 -08:00
Commit graph

3049 commits

Author SHA1 Message Date
Michael Albinus
54c96badf9 Add tag :tramp-asynchronous-processes to tramp-tests.el
* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
(tramp--test--deftest-direct-async-process)
(tramp-test30-make-process, tramp-test31-interrupt-process)
(tramp-test34-explicit-shell-file-name)
(tramp-test44-asynchronous-requests):
Add :tramp-asynchronous-processes tag.
(tramp--test-asynchronous-processes-p): New defun.
(tramp-test32-shell-command, tramp-test33-environment-variables):
Use it.
(tramp--test-expensive-test-p): Rename from
`tramp--test-expensive-test'.  Make it a defun.  Adapt all callees.
2021-12-24 11:32:34 +01:00
Stefan Kangas
be38405b1f Merge from origin/emacs-28
29fffbdd87 Revert field-related thingatpt changes
9bcb732686 * lisp/window.el (quit-restore-window): Select previously ...
b7d31d6192 Revert "Remove Motif support"

# Conflicts:
#	etc/NEWS
2021-12-23 06:31:26 +01:00
Stefan Kangas
8cc7326d95 Fix compile time error in a pcase test
* test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-cl-type): Fix test.
2021-12-22 22:59:36 +01:00
Stefan Kangas
205030ba5a Make substitute-command-keys test less brittle
* test/lisp/help-tests.el (help-tests--test-keymap): New keymap
variable.
(help-tests-substitute-command-keys/keymaps): Make test less
brittle by using above new keymap.
2021-12-22 22:59:36 +01:00
Michael Albinus
8d0efd87e1 Fix some Tramp tests
* test/lisp/net/tramp-tests.el (tramp-test07-file-exists-p)
(tramp-test14-delete-directory, tramp-test29-start-file-process)
(tramp-test30-make-process): Adapt tests.
2021-12-22 18:13:18 +01:00
Lars Ingebrigtsen
b7faac0fef Adjust test after recent help.el change 2021-12-22 15:19:41 +01:00
Lars Ingebrigtsen
29fffbdd87 Revert field-related thingatpt changes
This reverts 7db376e560, which led to
severe performance regressions when being run in large buffers with no
fields (bug#52593)
2021-12-22 13:56:47 +01:00
Stefan Kangas
11c2ffddc9 Declare functions to silence byte-compiler
* lisp/auth-source.el (gnutls-symmetric-decrypt, gnutls-ciphers):
* lisp/net/dbus.el (libxml-parse-xml-region):
* lisp/simple.el (thread-name):
* lisp/thread.el (thread-name, thread-signal, thread--blocker)
(current-thread, thread-live-p, all-threads):
* test/lisp/emacs-lisp/multisession-tests.el (sqlite-close):
* test/lisp/net/gnutls-tests.el (gnutls-symmetric-decrypt)
(gnutls-symmetric-encrypt, gnutls-hash-mac, gnutls-hash-digest)
(gnutls-ciphers, gnutls-digests, gnutls-macs):
* test/lisp/net/network-stream-tests.el (gnutls-peer-status):
* test/lisp/net/shr-tests.el (libxml-parse-html-region):
* test/src/decompress-tests.el (zlib-decompress-region):
* test/src/process-tests.el (thread-last-error, thread-join)
(make-thread):
* test/src/xml-tests.el (libxml-parse-xml-region): Declare
functions to silence byte-compiler in --without-all builds.
2021-12-21 18:04:33 +01:00
Stefan Kangas
32a764e106 Fix some tests in --without-all builds
* test/lisp/image-tests.el (image-type/from-filename):
* test/src/image-tests.el (image-tests-init-image-library):
* test/src/thread-tests.el (threads-test-bug33073): Fix tests in
--without-all builds.
2021-12-21 18:02:05 +01:00
Stefan Kangas
1a923e5ac6 Silence additional byte-compiler warning in test
* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:
Silence byte-compiler.
2021-12-21 15:56:33 +01:00
Stefan Monnier
0c4fc7032a Fix bug#28557
* test/lisp/emacs-lisp/cconv-tests.el: Remove `:expected-result :failed`
from the bug#28557 tests.
(cconv-tests-cl-function-:documentation): Account for the presence of
the arglist (aka "usage") in the docstring.

* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
* lisp/emacs-lisp/cl-generic.el (cl-defgeneric):
Handle non-constant `:documentation`.

* lisp/emacs-lisp/generator.el (iter-lambda):
* lisp/emacs-lisp/cconv.el (cconv--convert-funcbody):
Use `macroexp-parse-body`.
2021-12-20 22:00:57 -05:00
Stefan Monnier
bfcff46199 eieio-tests.el: Silence last warnings
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el (eieio-tests--dummy):
New class.
(eieio-test-22-init-forms-dont-match-runnable): Tweak to silence warning.
2021-12-20 20:45:39 -05:00
Stefan Kangas
5f57b41aa6 ; Minor license statement fixes 2021-12-20 22:31:31 +01:00
Stefan Kangas
89eb23589f Use declare-function instead of defun in eieio-tests.el
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: Prefer
declare-function to defun.
2021-12-20 18:34:42 +01:00
Mattias Engdegård
92ffe44834 Body of dynamic let-bindings is not in tail position
This fixes a known bug in `named-let`.

* lisp/emacs-lisp/cl-macs.el (cl--self-tco): Prevent TCO from inside
dynamic variable bindings.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels): Add test.
2021-12-20 16:26:02 +01:00
Mattias Engdegård
8706f6fde1 Add macroexp--dynamic-variable-p
This predicate can be used for discriminating between lexically and
dynamically bound variables during macro-expansion (only).
It is restricted to internal use for the time being.

* lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
Use macroexpand--all-toplevel.
* lisp/emacs-lisp/macroexp.el (macroexp-dynamic-variable-p): New.
(macroexp--expand-all): Maintain macroexp--dynvars.
(macroexpand-all): Rebind macroexp--dynvars.
(macroexpand--all-toplevel): New.
(internal-macroexpand-for-load): Use macroexpand--all-toplevel.
* src/eval.c (eval_sub): Transfer defvar declarations from
Vinternal_interpreter_environment into macroexp--dynvars during
lazy macro-expansion.
* src/lread.c (readevalloop): Rebind macroexp--dynvars around
read-and-evaluate operations.
(syms_of_lread): Define macroexp--dynvars.
* test/lisp/emacs-lisp/macroexp-resources/vk.el: New file.
* test/lisp/emacs-lisp/macroexp-tests.el (macroexp-tests--run-emacs)
(macroexp-tests--eval-in-subprocess)
(macroexp-tests--byte-compile-in-subprocess)
(macroexp--tests-dynamic-variable-p): Add tests.
2021-12-20 16:26:02 +01:00
Stefan Kangas
eead51bc71 Silence byte-compiler using with-no-warnings in tests
We could silence the specific warnings by adding support for them to
with-suppressed-warnings, but it is almost not worth the complexity
for warnings that only show up in one file.  In any case, it is not
urgent, so leave behind FIXMEs for now.

* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
(eieio-test-37-obsolete-name-in-constructor, class-c)
(eieio-test-01-mix-alloc-initarg, slotattr-class-base):
* test/lisp/progmodes/elisp-mode-tests.el
(xref-elisp-generic-co-located-default): Silence byte-compiler.
2021-12-20 16:06:36 +01:00
Stefan Kangas
b5393c68ae Silence undefined function warnings in eieio-tests.el
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: Silence
byte-compiler with some function definitions.  These are overridden by
class definitions further down.
2021-12-20 16:05:56 +01:00
Stefan Kangas
2bfea5fd1f Prefer skip-unless in one eieio test
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
(eieio-test-01-mix-alloc-initarg): Use skip-unless to correctly mark
the test as skipped.
2021-12-20 16:05:42 +01:00
Stefan Kangas
3cf11a3c61 Silence byte-compiler in cconv-tests.el
* test/lisp/emacs-lisp/cconv-tests.el
(cconv-tests-iter-lambda-:documentation)
(cconv-tests-cl-function-:documentation): Silence byte-compiler.
2021-12-20 13:52:44 +01:00
Stefan Kangas
09af054dab Silence "initform needs quoting" warning in tests
* test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
(persist-simple):
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el (class-a)
(class-c, inittest, slotattr-base, slotattr-ok)
(slotattr-class-base, slotattr-class-ok, IT): Silence byte-compiler
warnings about "ambiguous initform needs quoting".
2021-12-19 15:26:36 +01:00
Michael Albinus
bc13902d3a Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2021-12-19 15:21:26 +01:00
Michael Albinus
4de46e6872 Fix timeout problem in autorevert-tests.el
* test/lisp/autorevert-tests.el (auto-revert-test05-global-notify):
Remove debug message.  Increase timeout.
2021-12-19 15:21:06 +01:00
Stefan Kangas
9ef9d0c697 Silence "Unknown slot" warnings in tests
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el:
* test/lisp/net/ntlm-tests.el: Silence byte-compiler.
2021-12-19 14:45:55 +01:00
Michael Albinus
55f652c856 Make generation of JUnit test reports more robust.
* lisp/emacs-lisp/ert.el (ert-load-file-name): New defvar.
(ert-write-junit-test-report): Use it.  Make detection of selector
more robust.  Protect calls of `xml-escape-string' with 'noerror.

* test/infra/Makefile.in (subdir_template): Use "make -k ...".

* test/infra/gitlab-ci.yml (test-filenotify-gio):
Adapt make_params in order to get a JUnit test report.
(test-native-comp-speed0): Use "make -k ...".

* test/infra/test-jobs.yml: Regenerate.

* test/lisp/progmodes/perl-mode-tests.el (top):
Set `ert-load-file-name'.
2021-12-18 18:43:18 +01:00
Stefan Kangas
cb10eed97c Silence byte-compiler in multisession-tests.el
* test/lisp/emacs-lisp/multisession-tests.el
(multi-test-sqlite-simple, multi-test-sqlite-busy)
(multi-test-files-simple, multi-test-files-busy)
(multi-test-files-some-values): Silence byte-compiler.
2021-12-18 15:53:59 +01:00
Lars Ingebrigtsen
bfc38ff058 Add support for multisession variables
* doc/lispref/elisp.texi (Top): Add to menu.
(Top):
* doc/lispref/variables.texi (Variables): Ditto.
(Multisession Variables): Document multisession variables.

* lisp/emacs-lisp/multisession.el: New file.
2021-12-16 07:20:04 +01:00
Stefan Kangas
5640b055d6 Merge from origin/emacs-28
9bd3f78645 Make `M-x run-python' select the window again
62139aeb42 * lisp/tab-bar.el (tab-bar-switch-to-last-tab): Add 'abs' ...
ea8422204f * make-dist (manifest): Filter out msdos/autogen/* files.
b5354e989d Rewrite the "Quitting Windows" section of Emacs Lisp Refer...
64ea1a178c Fix eshell for systems that do not have subprocesses
2021-12-13 06:30:58 +01:00
Kévin Le Gouguec
9bd3f78645 Make `M-x run-python' select the window again
Interactively, we want M-x run-python to focus the interpreter buffer.
The previous code failed in two ways:

- the call to 'display-buffer' was not reached if an interpreter
  was already running,

- set-buffer is ineffectual if the interpreter's window is not
  selected: once Emacs returns to the command loop, the current buffer
  will revert back to what the selected window contains.

* lisp/progmodes/python.el (python-shell-make-comint): Handle the SHOW
argument regardless of whether an interpreter buffer exists, and use
pop-to-buffer to select the window.
(run-python): Delegate buffer management to
'python-shell-make-comint'.

* test/lisp/progmodes/python-tests.el
(python-tests--run-python-selects-window): Rename from
'python-tests--bug31398', and adjust assertions (bug#52380).
2021-12-13 05:17:00 +01:00
Lars Ingebrigtsen
95d7a794cc Update bovine/gcc-tests for newer Macos versions
* test/lisp/cedet/semantic/bovine/gcc-tests.el
(semantic-gcc-test-output-parser-this-machine): Update gcc->llvm
detection to Macos Monterey.
2021-12-12 06:57:02 +01:00
Mattias Engdegård
8716f21d94 Constant-propagate access to captured variables
* lisp/emacs-lisp/byte-opt.el (byte-optimize--substitutable-p):
Treat (internal-get-closed-var N) as constants for propagation
purposes, because that is effectively what such forms will be compiled
to.  This allows for the elimination of some lexical variables.

* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
Add test case.
2021-12-11 22:16:55 +01:00
Michael Albinus
8f3f785c55 Fix thinko in Tramp test
* test/lisp/net/tramp-tests.el (tramp-test07-abbreviate-file-name):
Fix thinko.
2021-12-09 20:11:40 +01:00
Stefan Monnier
c6bf11c281 * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-named-let): New test 2021-12-08 16:58:24 -05:00
Stefan Monnier
3a0e0187b7 * test/lisp/emacs-lisp/cl-macs-tests.el: Avoid with-suppressed-warnings
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--progv): Use a proper
namespace prefix for the global vars.
2021-12-08 16:22:24 -05:00
Stefan Kangas
bed5af1ea3 Silence byte-compiler in two tests
* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:
* test/lisp/mail/mail-utils-tests.el
(mail-utils-tests-mail-rfc822-time-zone): Silence byte-compiler.
2021-12-06 22:19:58 +01:00
Stefan Kangas
e637afce45 Remove spurious space in byte-compiler warning
* lisp/emacs-lisp/bytecomp.el
(byte-compile-docstring-length-warn): Remove spurious space in
byte-compiler warning.
* test/lisp/emacs-lisp/bytecomp-tests.el
("warn-wide-docstring-defun.el"): Update test.
2021-12-06 22:19:58 +01:00
Stefan Kangas
79335aa185 Assume unfilled byte-compiler warnings in tests
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp--define-warning-file-test): Remove workaround for filled
byte-compilation warnings.  See Bug#52281.
2021-12-06 22:19:40 +01:00
Michael Albinus
e135f15aac Tramp code cleanup
* lisp/net/tramp.el (tramp-get-default-directory)
(tramp-get-buffer-string): New defsubsts.
(tramp-message, tramp-error-with-buffer)
(tramp-file-name-for-operation, tramp-command-completion-p)
(tramp-action-login, tramp-action-yesno, tramp-action-yn)
(tramp-action-terminal, tramp-action-confirm-message)
(tramp-wait-for-regexp, tramp-call-process)
(tramp-call-process-region, tramp-read-passwd):
* lisp/net/tramp-cmds.el (tramp-list-remote-buffers)
(tramp-reporter-dump-variable):
* lisp/net/tramp-gvfs.el (tramp-gvfs-monitor-process-filter):
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory)
(tramp-sh-handle-process-file, tramp-sh-handle-write-region)
(tramp-sh-gio-monitor-process-filter):
* lisp/net/tramp-smb.el (tramp-smb-action-set-acl):
* lisp/net/tramp-sudoedit.el
(tramp-sudoedit-handle-file-name-all-completions):
* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case)
(tramp-test32-shell-command): Use them.
2021-12-06 19:36:15 +01:00
Paul Eggert
524c42fa0e Prefer nil to (current-time) when either will do
* lisp/emacs-lisp/timer.el (timer-event-handler, run-at-time):
* lisp/gnus/gnus-score.el (gnus-score-date):
* lisp/gnus/gnus-search.el (gnus-search-query-parse-date)
(gnus-search-imap-handle-date):
* lisp/gnus/gnus-sum.el (gnus-user-date)
(gnus-summary-create-article):
* lisp/image-dired.el (image-dired-create-thumb-1):
* lisp/image/gravatar.el (gravatar-retrieve)
(gravatar--prune-cache):
* lisp/net/dbus.el (dbus-monitor-handler):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-set-file-times):
* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-times):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-times):
* test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
(auto-revert-tests--write-file, auto-revert-test--wait-for):
* test/lisp/net/tramp-tests.el (tramp--test-print-duration):
Prefer nil to (current-time) when either will do, as this avoids
some consing.  Similarly, prefer omitting (current-time) arg
when this is equivalent.
2021-12-05 23:24:08 -08:00
Paul Eggert
83fa35bb16 Use time-equal-p to compare timestamps in tests
* test/lisp/calendar/time-date-tests.el (test-days-to-time)
(test-time-since): Use time-equal-p to compare timestamps,
since the default form shouldn’t matter.
2021-12-05 23:24:08 -08:00
Justin Schell
e6a0cfaad5 vc-git--program-version to support Git for macOS version string
`git version` on macOS returns e.g., "git version 2.30.1 (Apple
Git-130)" and `vc-git--program-version` currently returns "0" instead
of "2.30.1".

* lisp/vc/vc-git.el (vc-git--program-version): Ignore text after
the version number when parsing git versions (bug#52172).

Copyright-paperwork-exempt: yes
2021-12-06 02:27:52 +01:00
Stefan Kangas
d16db92cc7 Silence byte-compiler in generator-tests.el
* test/lisp/emacs-lisp/generator-tests.el (cps-let*-shadow-empty)
(cps-let-shadow-empty, cps-let*-parallel): Silence byte-compiler.
2021-12-05 12:58:04 +01:00
Stefan Kangas
722a8ebb71 Silence warnings about testing obsolete functions and macros
* test/lisp/emacs-lisp/cl-generic-tests.el:
* test/lisp/emacs-lisp/edebug-tests.el:
* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el:
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: Silence
byte-compiler warnings about testing obsolete functions and macros.
2021-12-05 12:57:57 +01:00
Stefan Kangas
9167fbd323 Remove hacks for broken `with-suppressed-warnings'
* test/lisp/obsolete/cl-tests.el (labels-function-quoting):
* test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
Remove hack for broken `with-suppressed-warnings'.
2021-12-05 12:08:27 +01:00
Lars Ingebrigtsen
8bdea76720 Remove hack from seq-tests.el for broken `with-suppressed-warnings'
* test/lisp/emacs-lisp/seq-tests.el: `with-suppressed-warnings'
now works better in erf-deftests, so remove hack that works around
it (bug#36568).
2021-12-05 04:20:55 +01:00
Stefan Monnier
de727b5886 eieio-core.el: Allow assignment to cl-structs through slot-value
* lisp/emacs-lisp/eieio-core.el (eieio--validate-slot-value):
Obey the `:read-only` property of the slot.
(eieio-oset): Allow use on cl-structs as well.
(eieio-read-only): New error.

* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el (eieio-test--struct):
Make the last field read-only.
(eieio-test-defstruct-slot-value): Test that cl-struct slots can be
assigned via `slot-value`.
2021-12-04 13:47:35 -05:00
Paul Eggert
63be97fb05 Fix (date-to-time "2021-12-04")
This should complete the fix for Bug#52209.
* lisp/calendar/time-date.el (date-to-time): Apply
decoded-time-set-defaults only to the output of (parse-time-string
date), and only when the output has a year (to avoid confusion
when dates lack years).  There is no point applying it after
timezone-make-date-arpa-standard since the latter fills in all the
blanks.  And the former code mistakenly called encode-time on an
already-encoded time.  This goes back to the code a couple of days
ago, except with changed behavior (to fix Bug#52209) only when
timezone-make-date-arpa-standard is not called.
* test/lisp/calendar/time-date-tests.el (test-date-to-time)
(test-days-between): New tests.
2021-12-04 10:36:07 -08:00
Stefan Kangas
7c68c84674 Silence byte-compiler in some tests
* test/lisp/dired-tests.el:
* test/lisp/emacs-lisp/cl-macs-tests.el:
* test/lisp/emacs-lisp/derived-tests.el:
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el:
* test/lisp/emacs-lisp/generator-tests.el:
* test/lisp/emacs-lisp/lisp-tests.el:
* test/lisp/emacs-lisp/seq-tests.el (test-seq-let)
(test-seq-setq):
* test/lisp/emacs-lisp/subr-x-tests.el (subr-x-test-if-let*-false)
(subr-x-test-if-let*-and-laziness-is-preserved)
(subr-x-test-when-let*-false)
(subr-x-test-when-let*-and-laziness-is-preserved):
* test/lisp/emacs-lisp/timer-tests.el
(timer-tests-debug-timer-check):
* test/lisp/format-spec-tests.el (format-spec-do-flags-truncate)
(format-spec-do-flags-pad):
* test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762):
* test/lisp/obsolete/cl-tests.el (labels-function-quoting):
* test/lisp/progmodes/elisp-mode-tests.el:
* test/lisp/replace-tests.el (replace-regexp-bug45973):
* test/lisp/ses-tests.el:
* test/lisp/subr-tests.el:
* test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
* test/src/data-tests.el (data-tests--set-default-per-buffer):
* test/src/search-tests.el
(test-replace-match-modification-hooks): Silence byte-compiler.
2021-12-04 15:49:42 +01:00
Stefan Kangas
16b8741556 ; Silence byte-compiler warning in test
* test/lisp/dired-aux-tests.el (dired-test-bug28834): Silence
byte-compiler.
2021-12-04 11:33:43 +01:00
Eli Zaretskii
c8b72ad0ea Add more dired-x tests
* test/lisp/dired-x-tests.el (dired-x--string-to-number): Add more
tests with various thousands separators.
2021-12-03 21:52:49 +02:00