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

5256 commits

Author SHA1 Message Date
Michael Albinus
4ab5b89de8 The temprary "session" collection might not exist in Secret Service
* doc/misc/auth.texi (Secret Service API):
* test/lisp/net/secrets-tests.el (secrets--test-delete-all-session-items)
(secrets-test02-collections, secrets-test03-items)
(secrets-test04-search): The temporary "session" collection might
not exist.

* lisp/net/secrets.el (secrets-struct-secret-content-type):
Remove compatibility hack.
(secrets-create-item): Adapt accordingly.
2021-12-27 19:53:00 +01:00
Michael Albinus
01df347947 Use `permission-denied' in Tramp tests, and more
* lisp/net/tramp-crypt.el (tramp-crypt-maybe-open-connection):
Simplify code.

* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-system-info):
Adapt for "mtp" method.

* test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
Use `permission-denied' error.  Simplify code.
(tramp-test24-file-acl, tramp-test26-file-name-completion):
Simplify code.
2021-12-27 19:51:58 +01:00
Stefan Kangas
f522a064cf perl-mode: Recognize "when"/"given" keywords
* lisp/progmodes/perl-mode.el (perl-font-lock-keywords-2): Add
keywords "when", "given" and "default".  (Bug#10560)
(perl--syntax-exp-intro-keywords): Add "printf".

* test/manual/indent/perl.perl: Add test for "when"/"given".
2021-12-27 03:19:25 +01:00
Stefan Kangas
d4353da0ad Use defvar-keymap in tests
* test/lisp/button-tests.el (button-tests--map):
* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-keymap):
* test/lisp/help-tests.el (help-tests-remap-map)
(help-tests-major-mode-map, help-tests-minor-mode-map):
* test/lisp/kmacro-tests.el (kmacro-tests-keymap):
* test/lisp/repeat-tests.el (repeat-tests-map)
(repeat-tests-repeat-map):
* test/src/keymap-tests.el (keymap-tests-minor-mode-map)
(keymap-tests-major-mode-map): Use defvar-keymap.
2021-12-26 21:52:56 +01:00
Stefan Kangas
40dcf9c2ab read-multiple-choice: Display "SPC" instead of " "
* lisp/emacs-lisp/rmc.el (rmc--add-key-description): Improve display
of the keys TAB, RET, SPC, DEL, and ESC.  This fixes a bug where " "
was highlighted in the description in a confusing way.
* test/lisp/emacs-lisp/rmc-tests.el
(test-rmc--add-key-description)
(test-rmc--add-key-description/with-attributes): Update tests for the
above change.
2021-12-26 17:05:39 +01:00
Stefan Kangas
787030b021 read-multiple-choice: Add face when key not in name string
* lisp/emacs-lisp/rmc.el (rmc--add-key-description): Add face
property also when key is not in the name string.
* test/lisp/emacs-lisp/rmc-tests.el
(test-rmc--add-key-description/with-attributes)
(test-rmc--add-key-description/non-graphical-display): Update tests.
2021-12-26 17:03:36 +01:00
Stefan Kangas
68f15e815e Factor out new function rmc--add-key-description
* lisp/emacs-lisp/rmc.el (rmc--add-key-description): Factor out
new function from...
(read-multiple-choice): ...here.

* test/lisp/emacs-lisp/rmc-tests.el (test-rmc--add-key-description)
(test-rmc--add-key-description/with-attributes)
(test-rmc--add-key-description/non-graphical-display): New tests.
2021-12-26 15:47:16 +01:00
Stefan Kangas
6866cf9c37 Add test for text-char-description
* test/src/keymap-tests.el (keymap-text-char-description): New
test.
2021-12-26 06:56:04 +01:00
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
Paul Eggert
aa1fdb3f6f Put AM_V_GEN etc. first
With the recent changes to src/verbose.mk.in, it’s more important
to be consistent about putting AM_V_GEN and similar macros at the
start of a rule’s recipe, since ‘make’ now outputs the diagnostic
before it executes the recipe rather than the shell outputting it.
Most of the uses were already this way, but there were a few
outliers.  Problem reported by Pip Cet.
* Makefile.in (${srcdir}/info/dir):
* admin/unidata/Makefile.in (${unidir}/charprop.el, ${unifiles})
(${unidir}/emoji-labels.el):
* lib/Makefile.in (libgnu.a, libegnu.a):
* lisp/Makefile.in (TAGS):
* src/Makefile.in (lisp.mk, Emacs):
* test/Makefile.in (%.log, $(test_module)):
Put AM_V_GEN and similar macros first.
2021-12-20 15:05:08 -08:00
Stefan Kangas
5f57b41aa6 ; Minor license statement fixes 2021-12-20 22:31:31 +01:00
Paul Eggert
eaa44ca40e Prefer $(info) to @echo
Have GNU Make output some diagnostics directly, instead of forking
and execing a shell to do it.
* GNUmakefile (help):
* doc/lispref/two-volume.make (vol2.pdf, elisp2med-init)
(elisp2-init):
* doc/misc/Makefile.in (echo-info, echo-sources):
* lib-src/Makefile.in (archlibdir, install, check):
* src/verbose.mk.in (AM_V_AR, AM_V_CC, AM_V_CXX, AM_V_CCLD)
(AM_V_CXXLD, AM_V_ELC, AM_V_ELN, AM_V_GEN, AM_V_GLOBALS)
(AM_V_RC):
* test/Makefile.in (subdirs, subdir-targets):
Prefer $(info) to @echo.
* GNUmakefile (MAKECMDGOALS, configure, Makefile):
Prefer $(warning) to @echo >&2.
* src/verbose.mk.in (AM_V_ELN): Output target, like the others.
2021-12-20 12:24:04 -08:00
Mattias Engdegård
a34650acff Fix sloppy base64 acceptance of some multibyte characters
The base64 encoding functions incorrectly accepted some multibyte
characters; stop doing that (bug#52670).

* src/fns.c (base64_encode_1): Reject all multibyte characters.
* test/src/fns-tests.el (fns-tests-base64-encode-string)
(fns-test-base64url-encode-region)
(fns-test-base64url-encode-string): Add tests.
* doc/lispref/text.texi (Base 64): Rephrase outdated manual text.
* etc/NEWS: Add a notice.
2021-12-20 20:22:09 +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
19206fd1e7 Silence byte-compiler warnings from absent optional features
* test/src/inotify-tests.el (inotify-rm-watch):
* test/src/lcms-tests.el (lcms-xyz->jch):
* test/src/sqlite-tests.el (sqlite-open):
Add declarations to prevent byte-compilation warnings when features
are absent.
2021-12-20 17:13:09 +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
Lars Ingebrigtsen
f6959d05f4 Add some very rudimentary field-beginning/end tests 2021-12-19 17:12:18 +01:00
Eli Zaretskii
c139d289df ; Fix last change to filelock-tests.el
* test/src/filelock-tests.el (filelock-tests-file-locked-p-spoiled)
(filelock-tests-unlock-spoiled)
(filelock-tests-kill-buffer-spoiled): Expect 'permission-denied' only
on MS-Windows.
2021-12-19 17:44:32 +02:00
Eli Zaretskii
cc63704815 New error symbol 'permission-denied'
* src/fileio.c (syms_of_fileio) <permission-denied>: Define the
symbol and its 'err-conditions' and 'error-message' properties.
(get_file_errno_data): Return permission-denied on EACCES.

* test/src/filelock-tests.el (filelock-tests-file-locked-p-spoiled)
(filelock-tests-unlock-spoiled)
(filelock-tests-kill-buffer-spoiled): Adapt the tests to the new
error symbol.

* doc/lispref/errors.texi (Standard Errors):
* etc/NEWS: Document 'permission-denied' error.
2021-12-19 17:29:40 +02: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
bc60ce7ffd Skip extension tests on hosts without the function 2021-12-16 07:43:29 +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
Lars Ingebrigtsen
8c0f9be0d1 Only allow SQLite extensions from an allowlist
* src/sqlite.c (Fsqlite_load_extension): Only allow extensions
from an allowlist.
2021-12-14 09:29:13 +01:00
Michael Albinus
b30b33ed9b ERT can generate JUnit test reports
* .gitignore: Add test/**/*.xml.

* admin/notes/emba: Mention JUnit test report.

* etc/NEWS: ERT can generate JUnit test reports.

* lisp/emacs-lisp/ert.el (xml-escape-string): Autoload.
(ert-write-junit-test-report)
(ert-write-junit-test-summary-report): New defuns.
(ert-run-tests-batch, ert-summarize-tests-batch-and-exit): Call them.

* test/Makefile.in (clean): Remove *.xml.

* test/README: Mention $EMACS_TEST_JUNIT_REPORT environment variable.

* test/infra/Makefile.in ($(FILE)): Generate header commentary.
(clean): Remove.

* test/infra/gitlab-ci.yml (variables): Set EMACS_TEST_JUNIT_REPORT.
(.job-template): Use it in script and after_script.
(.build-template, .gnustep-template, .filenotify-gio-template)
(.native-comp-template): Adapt rules.
(.test-template): Trigger JUnit test report.

* test/infra/test-jobs.yml: Regenerate.
2021-12-13 16:09:56 +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
dick r. chiang
8e948ab97e Fix some compilation warnings in sqlite-less builds
* test/src/sqlite-tests.el:
* lisp/sqlite-mode.el: Avoid compilation warnings in builds
without libsqlite (bug#52440).
2021-12-12 07:13:46 +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