summaryrefslogtreecommitdiff
path: root/test/lisp/emacs-lisp
Commit message (Collapse)AuthorAgeFilesLines
* Merge from origin/emacs-28Stefan Kangas2022-01-111-22/+37
|\ | | | | | | 8db5f82d45 ; Fix tabulated-list-mode tests after revert
| * ; Fix tabulated-list-mode tests after revertStefan Kangas2022-01-111-22/+37
| | | | | | | | | | * test/lisp/emacs-lisp/tabulated-list-tests.el (tabulated-list-print, tabulated-list-sort): Fix tests.
* | Improve pp-emacs-lisp-code for #'Lars Ingebrigtsen2022-01-041-0/+6
| | | | | | | | | | * lisp/emacs-lisp/pp.el (pp--insert-lisp): Format (function ...) as #'.
* | Test that buffer exists in shortdoc-all-groups-workStefan Kangas2022-01-041-4/+7
| | | | | | | | | | * test/lisp/emacs-lisp/shortdoc-tests.el (shortdoc-all-groups-work): Test that the shortdoc buffer was created.
* | New test shortdoc-all-groups-workStefan Kangas2022-01-031-0/+8
| | | | | | | | | | * test/lisp/emacs-lisp/shortdoc-tests.el (shortdoc-all-groups-work): New test. See Bug#52969.
* | Silence byte-compiler in eieio testsStefan Kangas2022-01-032-2/+6
| | | | | | | | | | | | | | | | This is a temporary workaround for Bug#52971. * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el (eieio-compat) * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el (eieio-compat): Silence byte-compiler by wrapping require in with-no-warnings.
* | Merge from origin/emacs-28Stefan Kangas2022-01-021-1/+1
|\| | | | | | | | | | | | | efb1c7ec37 ; * admin/notes/years: More known problems. f475c5823a ; Copyright year fixes 2684def348 ; Run set-copyright from admin.el 2558b37b5e ; * admin/notes/years: Mention known problems with 'update...
| * ; Copyright year fixesGlenn Morris2022-01-011-1/+1
| |
* | ; Add 2022 to copyright years.Eli Zaretskii2022-01-012-2/+2
| |
* | Merge from origin/emacs-28Eli Zaretskii2022-01-0164-64/+64
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 836be7a112 ; * etc/refcards/ru-refcard.tex: Update Copyright year. 86cbc6ee4a * lisp/net/tramp-sh.el: Adapt copyright year ebe8772f65 ; Minor fixes related to copyright years 23c1ee6989 ; * test/manual/etags/ETAGS.good_N: Adjust to copyright ye... 8d3fc7ec89 * src/xfaces.c (face_for_font): Make 'hash' be uintptr_t. 19dcb237b5 ; Add 2022 to copyright years. # Conflicts: # etc/NEWS # etc/refcards/ru-refcard.tex # lib/cdefs.h # lisp/erc/erc-dcc.el # lisp/erc/erc-imenu.el # lisp/erc/erc-replace.el # lisp/image-dired.el # lisp/progmodes/xref.el # m4/alloca.m4 # m4/byteswap.m4 # m4/errno_h.m4 # m4/getopt.m4 # m4/gnulib-common.m4 # m4/inttypes.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/sys_socket_h.m4
| * ; Add 2022 to copyright years.Eli Zaretskii2022-01-0164-64/+64
| |
* | Properly report errors about unbound ERT test symbols.Philipp Stephani2021-12-301-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Assertions should only be used to check internal consistency within a package, not to check arguments passed by callers. Instead, define and use a new error symbol. * lisp/emacs-lisp/ert.el (ert-test-unbound): New error symbol. (ert-select-tests): Use it. * test/lisp/emacs-lisp/ert-tests.el (ert-test-select-undefined): New unit test. * etc/NEWS: Document new behavior.
* | Fix multisession-tests on MS-WindowsEli Zaretskii2021-12-301-3/+4
| | | | | | | | | | | | | | * test/lisp/emacs-lisp/multisession-tests.el (multi-test-files-simple): On MS-Windows and Haiku, wait before invoking the Emacs sub-process, not after, to ensure the later update is detected with 1-sec file time resolution.
* | Make multi-test-files-busy shorterLars Ingebrigtsen2021-12-291-4/+4
| |
* | Adjust multi-test-files-simple test for WindowsLars Ingebrigtsen2021-12-291-0/+3
| | | | | | | | | | | | * test/lisp/emacs-lisp/multisession-tests.el (multi-test-files-simple): Adjust test to Emacs timestamp resolution on Windows.
* | Fix read-multiple-choice testsStefan Kangas2021-12-281-5/+5
| | | | | | | | | | | | | | | | * lisp/emacs-lisp/rmc.el (rmc--add-key-description): Fix typo. * 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): Fix tests.
* | Fix EIEIO tests to account for eieio-compat moveStefan Monnier2021-12-272-0/+2
| | | | | | | | | | | | | | | | | | | | | | * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el: * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: Require `eieio-compat` explicitly. * test/manual/cedet/tests/test.el (a-method, a-generic): * doc/misc/srecode.texi (Compound Dictionary Values): * doc/misc/ede.texi (ede-generic-project): Update sample code to use cl-generic syntax.
* | Use defvar-keymap in testsStefan Kangas2021-12-261-16/+14
| | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | read-multiple-choice: Display "SPC" instead of " "Stefan Kangas2021-12-261-2/+7
| | | | | | | | | | | | | | | | | | | | * 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.
* | read-multiple-choice: Add face when key not in name stringStefan Kangas2021-12-261-5/+5
| | | | | | | | | | | | | | | | * 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.
* | Factor out new function rmc--add-key-descriptionStefan Kangas2021-12-261-0/+22
| | | | | | | | | | | | | | | | | | | | * 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.
* | Fix compile time error in a pcase testStefan Kangas2021-12-221-2/+5
| | | | | | | | * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-cl-type): Fix test.
* | Declare functions to silence byte-compilerStefan Kangas2021-12-211-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Silence additional byte-compiler warning in testStefan Kangas2021-12-211-0/+1
| | | | | | | | | | * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el: Silence byte-compiler.
* | Fix bug#28557Stefan Monnier2021-12-201-26/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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`.
* | eieio-tests.el: Silence last warningsStefan Monnier2021-12-201-1/+4
| | | | | | | | | | | | * 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.
* | ; Minor license statement fixesStefan Kangas2021-12-204-18/+22
| |
* | Use declare-function instead of defun in eieio-tests.elStefan Kangas2021-12-201-8/+8
| | | | | | | | | | * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: Prefer declare-function to defun.
* | Body of dynamic let-bindings is not in tail positionMattias Engdegård2021-12-201-1/+18
| | | | | | | | | | | | | | | | 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.
* | Add `macroexp--dynamic-variable-p`Mattias Engdegård2021-12-202-1/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Silence byte-compiler using with-no-warnings in testsStefan Kangas2021-12-201-58/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Silence undefined function warnings in eieio-tests.elStefan Kangas2021-12-201-1/+12
| | | | | | | | | | | | * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: Silence byte-compiler with some function definitions. These are overridden by class definitions further down.
* | Prefer skip-unless in one eieio testStefan Kangas2021-12-201-13/+13
| | | | | | | | | | | | * 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.
* | Silence byte-compiler in cconv-tests.elStefan Kangas2021-12-201-12/+14
| | | | | | | | | | | | * test/lisp/emacs-lisp/cconv-tests.el (cconv-tests-iter-lambda-:documentation) (cconv-tests-cl-function-:documentation): Silence byte-compiler.
* | Silence "initform needs quoting" warning in testsStefan Kangas2021-12-192-11/+11
| | | | | | | | | | | | | | | | | | * 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".
* | Silence "Unknown slot" warnings in testsStefan Kangas2021-12-191-0/+5
| | | | | | | | | | * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: * test/lisp/net/ntlm-tests.el: Silence byte-compiler.
* | Silence byte-compiler in multisession-tests.elStefan Kangas2021-12-181-52/+52
| | | | | | | | | | | | | | * 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.
* | Add support for multisession variablesLars Ingebrigtsen2021-12-161-0/+201
| | | | | | | | | | | | | | | | | | * 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.
* | Constant-propagate access to captured variablesMattias Engdegård2021-12-111-0/+6
| | | | | | | | | | | | | | | | | | | | * 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.
* | * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-named-let): New testStefan Monnier2021-12-081-1/+19
| |
* | * test/lisp/emacs-lisp/cl-macs-tests.el: Avoid `with-suppressed-warnings`Stefan Monnier2021-12-081-6/+6
| | | | | | | | | | * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--progv): Use a proper namespace prefix for the global vars.
* | Silence byte-compiler in two testsStefan Kangas2021-12-061-0/+1
| | | | | | | | | | | | * 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.
* | Remove spurious space in byte-compiler warningStefan Kangas2021-12-061-1/+1
| | | | | | | | | | | | | | | | * 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.
* | Assume unfilled byte-compiler warnings in testsStefan Kangas2021-12-061-2/+1
| | | | | | | | | | | | * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp--define-warning-file-test): Remove workaround for filled byte-compilation warnings. See Bug#52281.
* | Silence byte-compiler in generator-tests.elStefan Kangas2021-12-051-3/+3
| | | | | | | | | | * test/lisp/emacs-lisp/generator-tests.el (cps-let*-shadow-empty) (cps-let-shadow-empty, cps-let*-parallel): Silence byte-compiler.
* | Silence warnings about testing obsolete functions and macrosStefan Kangas2021-12-054-289/+357
| | | | | | | | | | | | | | | | * 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.
* | Remove hack from seq-tests.el for broken `with-suppressed-warnings'Lars Ingebrigtsen2021-12-051-14/+10
| | | | | | | | | | | | * 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).
* | eieio-core.el: Allow assignment to cl-structs through `slot-value`Stefan Monnier2021-12-041-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | * 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`.
* | Silence byte-compiler in some testsStefan Kangas2021-12-048-44/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Add `cl-constantly' functionLars Ingebrigtsen2021-12-021-0/+5
| | | | | | | | | | * lisp/emacs-lisp/cl-lib.el (cl-constantly): Add Common Lisp function missing (bug#21584).