summaryrefslogtreecommitdiff
path: root/test/lisp
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright year to 2021Paul Eggert2021-01-01296-296/+296
| | | | Run "TZ=UTC0 admin/update-copyright".
* Revert recent add-to-ordered-list changesLars Ingebrigtsen2021-01-011-20/+0
| | | | | | | * doc/lispref/lists.texi (List Variables): Revert. * lisp/subr.el (add-to-ordered-list): Revert recent changes because the semantics are too muddled.
* ruby-mode: Recognize setter symbolsDmitry Gutov2020-12-311-0/+8
| | | | | | | | | | | | | * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize): Add a rule for setter symbols (bug#42846). (ruby-font-lock-keywords): Remove dead code, left over from before commit 26f9c507. * lisp/progmodes/ruby-mode.el (ruby-smie--bosp): Handle '=' being part of a symbol (bug#42846). * test/lisp/progmodes/ruby-mode-resources/ruby.rb: Add corresponding indentation examples.
* Allow add-to-ordered-list to use a test predicateLars Ingebrigtsen2020-12-311-2/+26
| | | | | | | * doc/lispref/lists.texi (List Variables): Update manual. * lisp/subr.el (add-to-ordered-list): Allow using a test predicate, and make slightly more efficient (bug#45539).
* Add test for add-to-ordered-listLars Ingebrigtsen2020-12-311-0/+16
|
* Add some tests to find-func.elDaniel Martín2020-12-311-0/+63
|
* Add 'project-relative' as value for 'xref-file-name-display'Dmitry Gutov2020-12-301-0/+31
| | | | | | | | | | | | | | | * lisp/progmodes/xref.el (xref-file-name-display): Document new value. (xref-location-group ((l xref-file-location))): Handle the new value. (xref--project-root): Extract from the default method of 'xref-backend-references' so it can be used in above's new code. Also fix an old bug in the "backward compat" branch. * lisp/progmodes/xref.el (xref--project-root-memo): New variable. * test/lisp/progmodes/xref-tests.el: Add test cases for the three possible settings of 'xref-file-name-display'. Co-authored-by: Tobias Rittweiler <trittweiler@gmail.com>
* Minor refactoring of xref-testsTobias Rittweiler2020-12-301-16/+22
| | | | | | | | * test/lisp/progmodes/xref-tests.el (xref-tests-data-dir): Rename to 'xref-tests--data-dir'. (xref-tests--matches-in-data-dir, xref-tests--locations-in-data-dir): New functions. Factored out from test cases and updated usage sites to use them.
* Sync with Tramp 2.5.0Michael Albinus2020-12-291-21/+27
| | | | | | | | | | | | * doc/misc/trampver.texi: * lisp/net/trampver.el: Change version to "2.5.0". * test/lisp/net/tramp-tests.el (tramp--test--deftest-direct-async-process): Check, that `make-process' supports file name handlers. Suppress `internal-default-process-sentinel'. (tramp--test-async-shell-command): Set `proc' proper. (tramp-test32-shell-command-direct-async): Tag it :unstable.
* Add some tests for align.elLars Ingebrigtsen2020-12-295-0/+71
|
* Add a SPLIT parameter to `format-spec'Lars Ingebrigtsen2020-12-291-0/+10
| | | | | | | * doc/lispref/strings.texi (Custom Format Strings): Document it. * lisp/format-spec.el (format-spec): Add an optional parameter to return a list of strings (bug#33740).
* Fix package tests for tetris no longer existing as a packageGlenn Morris2020-12-281-3/+3
| | | | | | * test/lisp/emacs-lisp/package-tests.el (package-test-list-filter-by-name, package-test-list-clear-filter): Use ansi-color instead of tetris, which no longer has a version:.
* Make byte-compiler warn about wide docstringsStefan Kangas2020-12-2816-0/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p): (byte-compile-docstring-length-warn): New defuns. (byte-compile-docstring-max-column): New defcustom. (byte-compile--wide-docstring-substitution-len): New variable. (byte-compile-warning-types, byte-compile-warnings): New value 'docstrings'. (byte-compile-file-form-autoload, byte-compile-file-form-defvar): (byte-compile-file-form-defvar-function, byte-compile-lambda): (byte-compile-defvar, byte-compile-file-form-defalias): Warn about too wide docstrings. (Bug#44858) * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-warn-wide-docstring/defconst) (bytecomp-warn-wide-docstring/defvar): New tests. (bytecomp--define-warning-file-test): New macro. (bytecomp/warn-wide-docstring-autoload\.el) (bytecomp/warn-wide-docstring-custom-declare-variable\.el) (bytecomp/warn-wide-docstring-defalias\.el) (bytecomp/warn-wide-docstring-defconst\.el) (bytecomp/warn-wide-docstring-define-abbrev-table\.el) (bytecomp/warn-wide-docstring-define-obsolete-function-alias\.el) (bytecomp/warn-wide-docstring-define-obsolete-variable-alias\.el) (bytecomp/warn-wide-docstring-defun\.el) (bytecomp/warn-wide-docstring-defvar\.el) (bytecomp/warn-wide-docstring-defvaralias\.el) (bytecomp/warn-wide-docstring-ignore-fill-column\.el) (bytecomp/warn-wide-docstring-ignore-override\.el) (bytecomp/warn-wide-docstring-ignore\.el) (bytecomp/warn-wide-docstring-multiline-first\.el) (bytecomp/warn-wide-docstring-multiline\.el): New tests. * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-autoload.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-custom-declare-variable.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defalias.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defconst.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-define-abbrev-table.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-define-obsolete-function-alias.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-define-obsolete-variable-alias.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defun.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defvar.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defvaralias.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-ignore-fill-column.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-ignore-override.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-ignore.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-multiline-first.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-multiline.el: New files.
* Improve "find definition" in *Help* buffersDaniel Martín2020-12-271-0/+10
| | | | | | | | | * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol): If our regexp algorithm could not find a location for the symbol definition, resort to find-function--search-by-expanding-macros. * test/lisp/emacs-lisp/find-func-tests.el: Add a automatic test for a function and variable generated by a macro. * etc/NEWS: Advertise the improved functionality (bug#45443).
* Kill the scdaemon after doing the mml-sec testsLars Ingebrigtsen2020-12-261-1/+2
| | | | | * test/lisp/gnus/mml-sec-tests.el (mml-sec-test--kill-gpg-agent): Kill the scdaemon, too (bug#43358).
* Disable some semantic tests on systems without g++Lars Ingebrigtsen2020-12-251-0/+2
| | | | | * test/lisp/cedet/semantic-utest-ia.el: Disable g++ tests on systems without g++.
* Skip some mml tests that rely on CMS if that's not installedLars Ingebrigtsen2020-12-251-0/+4
|
* Fix gpg-agent killing in mml-sec-testsLars Ingebrigtsen2020-12-251-1/+2
| | | | | | * test/lisp/gnus/mml-sec-tests.el (mml-sec-test--kill-gpg-agent): Identify the gpg-agent more successfully after the resource dir makeover.
* Tag another Tramp test :unstable on embaMichael Albinus2020-12-251-1/+2
| | | | | * test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process) (tramp-test43-asynchronous-requests): Tag them :unstable on emba.
* Tag Tramp test :unstableMichael Albinus2020-12-251-1/+2
| | | | | * test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process): Tag it :unstable on emba.
* Allow `string-limit' to work on encoded stringsLars Ingebrigtsen2020-12-251-0/+20
| | | | | | | * doc/lispref/strings.texi (Creating Strings): Document it. * lisp/emacs-lisp/subr-x.el (string-limit): Allow limiting on encoded strings.
* Remove `string-slice' -- it's not very well definedLars Ingebrigtsen2020-12-251-8/+0
| | | | | | * doc/lispref/strings.texi (Creating Strings): Ditto. * lisp/emacs-lisp/subr-x.el (string-slice): Remove.
* Allow string-slice to take zero-length matchesLars Ingebrigtsen2020-12-231-1/+3
| | | | | * lisp/emacs-lisp/subr-x.el (string-slice): Allow zero-length matches. Code adapted from s.el by Magnar Sveen.
* Make string-pad take an optional START parameterLars Ingebrigtsen2020-12-221-1/+1
| | | | | * lisp/emacs-lisp/subr-x.el (string-pad): Alter the calling convention.
* Change the string-limit parameter semanticsLars Ingebrigtsen2020-12-221-3/+4
| | | | | * lisp/emacs-lisp/subr-x.el (string-limit): Alter the calling convention.
* Further string-clean-whitespace tweaksLars Ingebrigtsen2020-12-221-1/+1
| | | | | * lisp/emacs-lisp/subr-x.el (string-clean-whitespace): Put \r back, which was mistakenly removed.
* Add string-chop-newlineLars Ingebrigtsen2020-12-211-0/+5
| | | | | * doc/lispref/strings.texi (Creating Strings): Document it. * lisp/emacs-lisp/subr-x.el (string-chop-newline): Add new function.
* Fix shorter-than-length case for string-limitLars Ingebrigtsen2020-12-211-0/+1
| | | | | * lisp/emacs-lisp/subr-x.el (string-limit): Fix shorter-than-length case.
* Rename slice-string to string-sliceLars Ingebrigtsen2020-12-211-5/+5
| | | | | * lisp/emacs-lisp/subr-x.el (string-slice): Rename from slice-string. * doc/lispref/strings.texi (Creating Strings): Ditto.
* Add `string-pad'Lars Ingebrigtsen2020-12-211-0/+6
| | | | | | | * doc/lispref/strings.texi (Creating Strings): Document it. * lisp/emacs-lisp/shortdoc.el (string): Add example. * lisp/emacs-lisp/subr-x.el (string-pad): New function.
* Beef up the Emacs string utility set a bitLars Ingebrigtsen2020-12-211-0/+26
| | | | | | | | | * doc/lispref/strings.texi (Modifying Strings): Document them. * lisp/emacs-lisp/shortdoc.el (string): Add examples. * lisp/emacs-lisp/subr-x.el (string-clean-whitespace) (string-fill, string-limit, string-lines, slice-string): New functions.
* Generic-ify xref-location-columnDmitry Gutov2020-12-211-3/+3
| | | | | | | | | | | | * lisp/progmodes/xref.el (xref-location-column): Create a generic from xref-file-location-column, to use in the common rendering code (bug#36967). (xref--insert-xrefs): Update accordingly. * test/lisp/progmodes/xref-tests.el (xref-matches-in-directory-finds-two-matches-on-the-same-line) (xref-matches-in-directory-finds-an-empty-line-regexp-match): Ditto.
* Improve make-process in TrampMichael Albinus2020-12-201-44/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/misc/tramp.texi (Remote processes): Remove INSIDE_EMACS restriction. (Frequently Asked Questions, External packages): Add indices. * etc/NEWS: 'start-process-shell-command' and 'start-file-process-shell-command' do not support the old calling conventions any longer. * lisp/subr.el (start-process-shell-command) (start-file-process-shell-command): Remove old calling conventions. * lisp/net/tramp-compat.el (remote-file-error): Remove, it isn't necessary. * lisp/net/tramp.el (tramp-handle-make-process): Remove special shell handling. Support environment variables. * test/lisp/net/tramp-tests.el (tramp--test--deftest-direct-async-process): Skip for mock method. (tramp--test-async-shell-command): Suppress `shell-command-sentinel'. (tramp-test32-shell-command, tramp-test33-environment-variables): Adapt tests. (tramp-test32-shell-command-direct-async) (tramp-test33-environment-variables-direct-async): New tests.
* Convert apropos-internal from C to Lisp (Bug#44529)Stefan Kangas2020-12-191-0/+12
| | | | | | | | | | | | | | | | | | | | | This runs insignificantly faster in C, and is already fast enough on reasonably modern hardware. We might as well lift it to Lisp. This benchmark can be used to verify: (benchmark-run 10 (apropos-command "test")) => (0.12032415399999999 2 0.014772391999999995) ; C => (0.13513192100000002 2 0.017216643000000004) ; Lisp * lisp/subr.el (apropos-internal): New defun, converted from C. * src/keymap.c (Fapropos_internal): Remove defun. (apropos_accum): Remove function. (apropos_predicate, apropos_accumulate): Remove variables. (syms_of_keymap): Remove defsubr for Fapropos_internal, and definitions of the above variables. * test/src/keymap-tests.el (keymap-apropos-internal) (keymap-apropos-internal/predicate): Move tests from here... * test/lisp/subr-tests.el (apropos-apropos-internal) (apropos-apropos-internal/predicate): ...to here.
* Ensure that byte compilation works for relative files (Bug#45287).Philipp Stephani2020-12-171-0/+15
| | | | | | | | * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don’t fail if target filename doesn’t contain a directory name. * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--target-file-no-directory): New unit test.
* CPerl-mode: don't treat <<>> as starting a here-docHarald Jörg2020-12-161-0/+8
| | | | | | | | | * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Detect the "<<>>" operator (Bug#42455). * test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-45255): Verify that <<>> does not start a HERE-doc.
* Add 'remote-file-error' for TrampMichael Albinus2020-12-141-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/errors.texi (Standard Errors): Add 'remote-file-error'. * etc/NEWS: Mention 'remote-file-error'. * lisp/net/ange-ftp.el (ftp-error): Add error condition `remote-file-error'. * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections): Do not set `tramp-locked'. * lisp/net/tramp-compat.el (remote-file-error): Define if it doesn't exist. * lisp/net/tramp-sh.el (tramp-timeout-session): Check for "locked" property. (tramp-maybe-open-connection): Simplify. * lisp/net/tramp.el (tramp-locked, tramp-locker): Remove them. (tramp-file-name-handler): Do not set them. (with-tramp-locked-connection): New defmacro. (tramp-accept-process-output, tramp-send-string): Use it. * src/fileio.c (Qremote_file_error): New error symbol. * test/lisp/net/tramp-tests.el (tramp-test43-asynchronous-requests): Adapt test. Remove :unstable tag.
* Prefer setq to set+quoteStefan Kangas2020-12-141-4/+4
| | | | | | | | | | | * lisp/cedet/semantic/senator.el (senator-lazy-highlight-update): * lisp/emulation/edt.el (edt-find, edt-restore-key) (edt-remember): * lisp/eshell/em-ls.el (eshell-ls--insert-directory): * lisp/net/tramp-sh.el (tramp-sh-handle-write-region): * lisp/progmodes/hideif.el (hide-ifdef-mode): * test/lisp/url/url-future-tests.el (url-future-tests): Prefer setq to set+quote.
* Byte compilation: handle case where the output file is a mountpoint.Philipp Stephani2020-12-131-0/+69
| | | | | | | | | | | | | | See Bug#44631. While testing for a readonly output directory has slightly different semantics, in practice they should cover cases where Emacs is sandboxed and can only write to the destination file, not its directory. * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Handle the case where the output directory is not writable. * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--not-writable-directory) (bytecomp-tests--dest-mountpoint): New unit tests.
* Fix test failureDmitry Gutov2020-12-131-1/+2
| | | | | * test/lisp/vc/vc-tests.el (vc-test--working-revision): Accept working revision -1, expected for older Hg (bug#36534).
* Fix copyright lineLars Ingebrigtsen2020-12-111-2/+5
|
* Add a new command `memory-report'Lars Ingebrigtsen2020-12-111-0/+54
| | | | | * doc/lispref/internals.texi (Garbage Collection): Document it. * lisp/emacs-lisp/memory-report.el: New package.
* Improve tests for gio file notificationsMichael Albinus2020-12-091-20/+60
| | | | | | | | | | | | | | | | | * .gitlab-ci.yml (test-filenotify-gio): Call "make -k". * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch): Set connection property "gio-file-monitor". * lisp/net/tramp-sh.el (tramp-get-remote-gio-file-monitor): New defun. (tramp-sh-handle-file-notify-add-watch): Use it. * test/lisp/filenotify-tests.el (file-notify--test-read-event): Simplify. (file-notify--test-monitor): Handle also remote "gio monitor". (file-notify-test03-events, file-notify-test04-autorevert) (file-notify-test05-file-validity, file-notify-test08-backup) (file-notify-test09-watched-file-in-watched-dir): Handle GKqueueFileMonitor.
* Make abbrev-tests.el more deterministicBasil L. Contovounesios2020-12-091-2/+3
| | | | | * test/lisp/abbrev-tests.el (abbrev--table-symbols-test): Don't rely on order of symbols in obarray.
* Make rcirc nick renaming heed nickname max lengthsLars Ingebrigtsen2020-12-081-0/+12
| | | | | | | | | * lisp/net/rcirc.el (rcirc-server-parameters): New variable (bug#6795). (rcirc-connect): Set it. (rcirc-handler-433): Use the length from the server. (rcirc-handler-005): Collect server data. (rcirc-server-parameter-value): New utility function. (rcirc--make-new-nick): New function.
* Prefer setq-local in testsStefan Kangas2020-12-083-7/+6
| | | | | | | | | | * test/lisp/allout-tests.el (allout-test-resumption-prior-value-resumed) (allout-test-resumption-multiple-holds) (allout-test-resumption-unbinding): * test/lisp/emacs-lisp/faceup-resources/faceup-test-mode.el (faceup-test-mode): * test/lisp/epg-tests.el (with-epg-tests): * test/src/data-tests.el (binding-test-buffer-A): Prefer setq-local.
* Fix bug in how ERT invokes its debugger.Philipp Stephani2020-12-071-0/+10
| | | | | | | | | | | | | | | The debugger needs to receive a list of the error symbol and data; cf. the documentation of the `debugger' variable. This bug manifested itself in ERT forms such as (should (integerp (ert-fail "Boo"))), which resulted in an incorrect condition object. Note that forms such as (should (ert-fail "Boo")) weren't affected because they wouldn't use the `ert--should-signal-hook'. * test/emacs-lisp/ert.el (ert--should-signal-hook): Call debugger with the right arguments. * test/lisp/emacs-lisp/ert-tests.el (ert-test-fail-inside-should): Add unit test.
* Unbreak a few unit tests that rely on lack of backtracesPhilipp Stephani2020-12-072-4/+12
| | | | | | | * test/lisp/emacs-lisp/gv-tests.el (gv-dont-define-expander-in-file) (gv-dont-define-expander-other-file): * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-with-default-config): Suppress backtraces in batch mode to unbreak unit tests.
* Speed up match-substitute-replacementMattias Engdegård2020-12-041-0/+24
| | | | | | * lisp/subr.el (match-substitute-replacement): Use match-data--translate. * src/search.c (Fmatch_data__translate): Remove string restriction. * test/lisp/subr-tests.el (subr-match-substitute-replacement): New test.
* Add tests for several byte-compiler warningsStefan Kangas2020-12-0317-2/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp/warn-autoload-not-on-top-level\.el) (bytecomp/warn-callargs\.el) (bytecomp/warn-defcustom-nogroup\.el) (bytecomp/warn-defcustom-notype\.el) (bytecomp/warn-defvar-lacks-prefix\.el) (bytecomp/warn-format\.el) (bytecomp/warn-lambda-malformed-interactive-spec\.el) (bytecomp/warn-make-variable-buffer-local\.el) (bytecomp/warn-redefine-defun-as-macro\.el) (bytecomp/warn-redefine-defun\.el) (bytecomp/warn-redefine-macro-as-defun\.el) (bytecomp/warn-save-excursion\.el) (bytecomp/warn-variable-let-bind-constant\.el) (bytecomp/warn-variable-let-bind-nonvariable\.el) (bytecomp/warn-variable-set-constant\.el) (bytecomp/warn-variable-set-nonvariable\.el): New tests. * test/lisp/emacs-lisp/bytecomp-resources/warn-autoload-not-on-top-level.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-callargs.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-defcustom-nogroup.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-defcustom-notype.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-defvar-lacks-prefix.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-format.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-lambda-malformed-interactive-spec.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-make-variable-buffer-local.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-redefine-defun-as-macro.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-redefine-defun.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-redefine-macro-as-defun.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-save-excursion.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-variable-let-bind-constant.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-variable-let-bind-nonvariable.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-variable-set-constant.el: * test/lisp/emacs-lisp/bytecomp-resources/warn-variable-set-nonvariable.el: * test/lisp/emacs-lisp/bytecomp-tests.el: New files.