Commit graph

1241 commits

Author SHA1 Message Date
Glenn Morris
78a609d454 Disable filling of warnings in a bytecomp test
* test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression):
Disable filling rather than working around it.
2019-06-16 17:37:21 -07:00
Glenn Morris
30e3e58c1b Merge from origin/emacs-26
7a8f22b * test/lisp/url/url-file-tests.el (url-file): Use file:///, n...
0c5f6c6 Fix doc of srecompile-compile-split-code (Bug#36200)
2019-06-15 09:50:33 -07:00
Lars Ingebrigtsen
fcb3821ad5 Also test unpacking 2019-06-15 16:10:28 +02:00
Lars Ingebrigtsen
f03343747e Refactor for reuse 2019-06-15 16:06:38 +02:00
Lars Ingebrigtsen
60a6992ae3 New file to test bindat functions 2019-06-15 15:57:01 +02:00
Michael Albinus
38a86a4c49 Some changes in process output read of Tramp
* lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
Read pending output.

* test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process):
Use a timeout when reading process output.
2019-06-15 11:33:16 +02:00
Michael Albinus
7d71d0b13d Tag remote autorevert tests as unstable
* test/lisp/autorevert-tests.el (auto-revert--timeout):
Derive value from `auto-revert-interval'.
(auto-revert--deftest-remote): Tag it as `:unstable'.
(auto-revert-test05-global-notify, auto-revert-test06-write-file):
Suppress final newline.  Use `auto-revert--timeout'.
2019-06-15 11:08:05 +02:00
Juanma Barranquero
7a8f22b004 * test/lisp/url/url-file-tests.el (url-file): Use file:///, not file://. 2019-06-15 05:29:03 +02:00
Michael Albinus
0518e3ca98 Fix problem in remote file notification
* lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter)
(tramp-sh-gvfs-monitor-dir-process-filter)
(tramp-sh-inotifywait-process-filter): Do not kill the process.
Let `file-notify-rm-watch' do the job.

* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test05-file-validity)
(file-notify-test09-watched-file-in-watched-dir): Do not
special-case remote files.
2019-06-14 19:45:00 +02:00
Glenn Morris
5e09ace074 Stop a tramp test leaving a file behind
* test/lisp/net/tramp-tests.el
(tramp-test10-write-region-file-precious-flag):
Avoid leaving a backup file after we are done.
2019-06-13 20:24:41 -04:00
Glenn Morris
4c3e78a9f4 Allow for line breaks in a bytecomp test
* test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression):
Warnings from the byte compiler may be filled.
2019-06-12 19:31:00 -07:00
Lars Ingebrigtsen
c25e3754ed Add more ps-mode octal tests
* test/lisp/progmodes/ps-mode-tests.el
(ps-mode-test-octal-region-multibyte): New test.
2019-06-13 03:03:26 +02:00
Lars Ingebrigtsen
5b7ec43c61 Add ps-mode-tests.el and remove a compilation warning
* lisp/progmodes/ps-mode.el (ps-mode-octal-region): Remove a
string-make-unibyte that apparently had no effect here.
* test/lisp/progmodes/ps-mode-tests.el: New file.
2019-06-13 02:48:41 +02:00
Lars Ingebrigtsen
73ab8f4b8c New file rfc2104-tests.el
* test/lisp/net/rfc2104-tests.el: New file to test rfc2104 hashes.
2019-06-13 01:53:58 +02:00
Glenn Morris
e2e63dc3f0 Give more information in a bytecomp test failure
* test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression):
More informative failure messages.
2019-06-12 16:49:06 -07:00
Lars Ingebrigtsen
f2071b6de4 Add the new macro with-suppressed-warnings
* lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): New macro.

* doc/lispref/compile.texi (Compiler Errors): Document
with-suppressed-warnings and deemphasise with-no-warnings
slightly.

* lisp/emacs-lisp/bytecomp.el (byte-compile--suppressed-warnings):
New internal variable.
(byte-compile-warning-enabled-p): Heed
byte-compile--suppressed-warnings, bound via with-suppressed-warnings.
(byte-compile-initial-macro-environment): Provide a macro
expansion of with-suppressed-warnings.
(byte-compile-file-form-with-suppressed-warnings): New byte hunk
handler for the suppressed symbol machinery.
(byte-compile-suppressed-warnings): Ditto for the byteop.
(byte-compile-file-form-defmumble): Ditto.
(byte-compile-form, byte-compile-normal-call)
(byte-compile-normal-call, byte-compile-variable-ref)
(byte-compile-set-default, byte-compile-variable-set)
(byte-compile-function-form, byte-compile-set-default)
(byte-compile-warn-obsolete, byte-compile--declare-var): Pass the
symbol being warned in to byte-compile-warning-enabled-p.

* test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression): New
function.
(bytecomp-test--with-suppressed-warnings): Tests.
2019-06-12 15:59:19 +02:00
Mattias Engdegård
e92dac3434 Keep auto-revert-mode working when changing buffer file name (bug#36159)
* lisp/autorevert.el (after-set-visited-file-name-hook):
Add unconditionally.
(global-auto-revert-mode): Don't use
`after-set-visited-file-name-hook' here.
(auto-revert-set-visited-file-name): Rename from
`auto-revert--global-set-visited-file-name' and generalise.
* test/lisp/autorevert-tests.el (auto-revert-test06-write-file): New.
2019-06-11 22:15:38 +02:00
Michael Albinus
2b8f9ded06 Minor fixes on tramp-tests.el for w32
* test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
Ignore absence of tput.
(tramp-test43-asynchronous-requests): Don't start watchdog on w32.
2019-06-11 20:28:31 +02:00
Noam Postavsky
0026d0bf9f Don't keep warning about unescaped literals (Bug#36068)
* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Restore lost
let-binding of lread--unescaped-character-literals, so that unescaped
literals warning will only apply to the form just read.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--unescaped-char-literals): Expand test to check that
we don't keep warning about old unescaped literals.
2019-06-10 18:27:22 -04:00
Michael Albinus
03b66d23a8 Make tramp-test43-asynchronous-requests working, again
* test/lisp/net/tramp-tests.el (tramp-list-tramp-buffers):
Declare `tramp-list-tramp-buffers'.
(tramp--test-ignore-make-symbolic-link-error)
(tramp--test-ignore-add-name-to-file-error): Improve declaration.
(tramp--test-with-proper-process-name-and-buffer): New macro.
(tramp-test43-asynchronous-requests): Use the macro for timer,
process filter and process sentinel.  Comment the remote file
operation in the timer.  Remove further async events.  Accept
output from all processes.
2019-06-10 17:53:15 +02:00
Mattias Engdegård
f2e4c34de6 Fix copy-paste error in autorevert-test
* test/lisp/autorevert-tests.el: Use correct name to define a remote test.
2019-06-10 12:44:26 +02:00
Stefan Kangas
4503310cac Add tests for mail/uudecode.el
* lisp/mail/uudecode.el: Remove redundant :group usage.
* test/lisp/mail/uudecode-resources/uudecoded.txt,
test/lisp/mail/uudecode-resources/uuencoded.txt,
test/lisp/mail/uudecode-tests.el: New files.
2019-06-09 17:07:09 -07:00
Stefan Kangas
1af27a1784 Use lexical-binding in password-cache.el and add tests
* lisp/password-cache.el: Use lexical-binding.
* test/lisp/password-cache-tests.el: New file.
2019-06-09 10:08:36 -07:00
Stefan Kangas
e40f1c68b5 Use lexical-binding in underline.el and add tests
* lisp/textmodes/underline.el: Use lexical-binding.
* test/lisp/textmodes/underline-tests.el: New file.
(Bug#36063)
2019-06-09 09:56:03 +03:00
Eli Zaretskii
e5bc9a32b6 Fix failures of term-tests on MS-Widows
* test/lisp/term-tests.el (term-simple-lines)
(term-carriage-return, term-line-wrap, term-cursor-movement)
(term-scrolling-region, term-set-directory)
(term-line-wrapping-then-motion, term-to-margin): Skip tests
on MS-Windows and MS-DOS.
2019-06-07 12:01:11 +03:00
Noam Postavsky
a14eb43215 Add "pin" to password-word-equivalents (Bug#35523)
* lisp/international/mule-conf.el (password-word-equivalents): Add "pin".
* test/lisp/comint-tests.el (comint-testsuite-password-strings): Add
test case.
2019-06-06 19:29:42 -04:00
Noam Postavsky
da118e6a7c Keep nxml prolog updated via syntax-propertize
Instead of using after-change-functions.  Also, stop consulting
nxml-prolog-regions during syntax-propertize.  It turns out the
problems fixed by using prolog information are actually due to using
the wrong syntax table during propertizing.  This was fixed in
2019-06-04 "* lisp/emacs-lisp/syntax.el: Use syntax-ppss-table for
syntax-propertize." so consulting the prolog data is no longer needed.
* lisp/nxml/nxml-rap.el (nxml-maybe-rescan-prolog): Remove.
* lisp/nxml/nxml-mode.el (nxml-mode): Stop using it.
(nxml-syntax-propertize): Don't use nxml-prolog-regions, just call
nxml-scan-prolog if needed before delegating to
sgml-syntax-propertize.
* test/lisp/nxml/nxml-mode-tests.el (nxml-mode-edit-prolog): New test.
2019-06-05 20:30:23 -04:00
Noam Postavsky
7ad5e3915f ; Add test for Bug#36092
* test/lisp/nxml/nxml-mode-tests.el (nxml-mode->-after-quote): New
test.
2019-06-05 09:10:23 -04:00
Noam Postavsky
d414c93b06 Don't sgml-syntax-propertize-inside XML prolog (Bug#32823)
* lisp/nxml/nxml-mode.el (nxml-syntax-propertize): New function.
(nxml-mode): Use it as the syntax-propertize-function.
* test/lisp/nxml/nxml-mode-tests.el (nxml-mode-doctype-and-quote-syntax)
(nxml-mode-prolog-comment): New tests.
2019-06-04 08:42:50 -04:00
Noam Postavsky
438e4804d1 Fix some SGML syntax edge cases (Bug#33887)
* lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): Handle
single and double quotes symmetrically.  Don't skip quoted comment
enders.
* test/lisp/textmodes/sgml-mode-tests.el (sgml-tests--quotes-syntax):
Add more test cases.
(sgml-mode-quote-in-long-text): New test.
2019-06-04 08:42:50 -04:00
Michael Albinus
7aaf500701 Stronger check for Tramp method
* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection):
Use `tramp-get-connection-name'.

* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
* lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-make-symbolic-link):
Don't check remote TARGET.

* lisp/net/tramp.el (tramp-dissect-file-name): Check for proper method.
(tramp-file-name-for-operation): Take only 2nd argument into
account for file name handler.
(tramp-file-name-handler): Suppress checks for `file-remote-p'.

* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test02-file-name-dissect): Suppress check for wrong
method.

* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
Dump *all* Tramp buffers.
(tramp-test02-file-name-dissect)
(tramp-test02-file-name-dissect-simplified)
(tramp-test02-file-name-dissect-separate): Check also wrong method.
(tramp-test03-file-name-defaults): Check, that the respective
Tramp package is loaded.
(tramp-test04-substitute-in-file-name)
(tramp-test05-expand-file-name)
(tramp-test06-directory-file-name, tramp-test44-auto-load):
Suppress check for wrong method.
(tramp-test30-make-process): Remove instrumentation code.
(tramp-test31-interrupt-process, tramp-test36-vc-registered):
Guarantee that connection is established prior starting process.
2019-06-04 12:51:45 +02:00
Juri Linkov
9d72d6a3a2 * lisp/char-fold.el (char-fold-make-table): New function
with body extracted from INITVALUE of defconst (bug#35689).
Bind search-spaces-regexp to nil (bug#35802).

* test/lisp/char-fold-tests.el: Relocate helpers to file beginning.
(char-fold--test-bug-35802): New test.
2019-06-03 23:18:31 +03:00
Glenn Morris
d920ec617b Skip some flymake tests on hydra.nixos.org
* test/lisp/progmodes/flymake-tests.el (perl-backend)
(included-c-header-files, recurrent-backend):
Skip on hydra.nixos due to frequent intermittent failures.  (Bug#32764)
2019-06-01 19:37:35 -07:00
Stefan Kangas
4c549ab5d0 Use lexical-binding in morse.el and studly.el and add tests
* lisp/play/morse.el: Use lexical-binding.
* lisp/play/studly.el: Use lexical-binding.
* test/lisp/play/morse-tests.el: New file.
* test/lisp/play/studly-tests.el: New file.
2019-06-01 18:52:22 -07:00
Stefan Kangas
227b3c89f0 Use lexical-binding in paragraphs.el and add tests
* lisp/textmodes/paragraphs.el: Use lexical-binding.
(repunctuate-sentences): Make it work non-interactively.
* test/lisp/textmodes/paragraphs-tests.el: New file.
2019-06-01 18:52:22 -07:00
Mattias Engdegård
b5e41e8ba3 Fix cl-member' and cl-assoc' for bignums
* lisp/emacs-lisp/cl-seq.el (cl-member, cl-assoc): Work with bignums.
* test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-bignum-eql): New.
2019-06-01 18:13:00 -07:00
Glenn Morris
7e911d007d Merge from origin/emacs-26
134edc1 Warn about wrong number of args for subrs (Bug#35767)
5f01af6 Use plain symbols for eieio type descriptors (Bug#29220)
4b24b01 Pacify GCC 9 -Wredundant-decls
2019-06-01 12:04:42 -07:00
Simen Heggestøyl
f2a7acdde7 Use lexical-binding in page.el and add tests
* lisp/textmodes/page.el: Use lexical-binding.
(forward-page): Replace `(if x nil y)' with `(unless x y)'.

* test/lisp/textmodes/page-tests.el: New file with tests for page.el.
2019-06-01 15:33:37 +02:00
Stefan Kangas
b6c628a16b Use lexical-binding in timezone.el and add tests
* lisp/timezone.el: Use lexical-binding.
* test/lisp/timezone-tests.el: New file.
2019-06-01 01:44:31 -07:00
Simen Heggestøyl
12f530a735 Use lexical-binding in autoinsert.el and add tests
* lisp/autoinsert.el: Use lexical-binding.
Remove redundant :group args.
(auto-insert): Simplify.

* test/lisp/autoinsert-tests.el: New file with tests for
autoinsert.el.
2019-05-31 19:07:48 +02:00
Noam Postavsky
134edc1036 Warn about wrong number of args for subrs (Bug#35767)
* lisp/emacs-lisp/bytecomp.el (byte-compile-callargs-warn): Don't
assume byte-compile-fdefinition will return non-nil.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-warn-wrong-args)
(bytecomp-warn-wrong-args-subr): New tests.
2019-05-30 18:46:07 -04:00
Noam Postavsky
5f01af6c8e Use plain symbols for eieio type descriptors (Bug#29220)
Since Emacs 26, eieio objects use a class record (with circular
references) as the type descriptor of the object record.  This causes
problems when reading back an object from a string, because the class
record is not `eq' to the canonical one (which means that read objects
don't satisfy the foo-p predicate).
* lisp/emacs-lisp/eieio.el (make-instance): As a (partial) fix, set
the record's type descriptor to a plain symbol for the type descriptor
when eieio-backward-compatibility is non-nil (the default).
* lisp/emacs-lisp/eieio-core.el (eieio--object-class): Call
eieio--class-object on the type tag when eieio-backward-compatibility
is non-nil.
(eieio-object-p): Use eieio--object-class instead of
eieio--object-class-tag.
* test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
(eieio-test-persist-hash-and-vector)
(eieio-test-persist-interior-lists): Make into functions.
(eieio-persist-hash-and-vector-backward-compatibility)
(eieio-persist-hash-and-vector-no-backward-compatibility)
(eieio-test-persist-interior-lists-backward-compatibility)
(eieio-test-persist-interior-lists-no-backward-compatibility): New
tests which call them, eieio-backward-compatibility let-bound.
2019-05-30 18:46:07 -04:00
Stefan Monnier
fe0cb43fb8 * lisp/subr.el (add-hook): Turn append into depth (bug#35508)
Make it possible to control the relative ordering of functions on hooks by
specifying `depth` in the same was as was possible with `add-function`.

* lisp/electric.el (electric--sort-post-self-insertion-hook):
Delete function.
(electric-indent-mode, electric-layout-mode, electric-quote-mode):
* lisp/elec-pair.el (electric-pair-mode): Use new `depth` arg instead of
electric--sort-post-self-insertion-hook.

* lisp/emacs-lisp/syntax.el (syntax-propertize, syntax-ppss):
Use new `depth` arg to make sure noone accidentally gets added
after syntax-ppss-flush-cache.

* doc/lispref/modes.texi (Setting Hooks): Document new `depth` arg.

* test/lisp/subr-tests.el (subr-tests-add-hook-depth): New test.
2019-05-29 15:56:14 -04:00
Simen Heggestøyl
49cdbb4a35 Use lexical-binding in makesum.el and add tests
* lisp/makesum.el: Use lexical-binding.
(make-command-summary): Replace `if..progn' with `when'.
(double-column): Add docstring and apply trivial simplifications.

* test/lisp/makesum-tests.el: New file with tests for makesum.el.
2019-05-29 20:47:16 +02:00
Stefan Monnier
96a0d4fe41 * lisp/international/mule-cmds.el (encode-coding-char): Fix ASCII case
Don't bother with string-as-multibyte since `string` already returns
multibyte when needed.  Don't forget to encode when the string is
ASCII, e.g. for ebcdic case and to make sure we always return
a unibyte string.

* test/lisp/international/mule-tests.el (mule-cmds-tests--encode-ebcdic):
New test.
2019-05-28 19:33:20 -04:00
Glenn Morris
f113512ffc * test/lisp/autorevert-tests.el: Give on on remote hydra.nixos tests.
(auto-revert--test-enabled-remote): Disable on hydra.nixos.
2019-05-27 17:20:12 -07:00
Glenn Morris
8f3bd2600a * test/lisp/autorevert-tests.el: Try to fix remote hydra.nixos tests. 2019-05-27 14:08:07 -07:00
Mattias Engdegård
68b374a62d Correctly eliminate duplicate cases in switch compilation
Fix code mistakes that prevented the correct elimination of duplicated
cases when compiling a `cond' form to a switch bytecode, as in

  (cond ((eq x 'a) 1)
        ((eq x 'b) 2)
        ((eq x 'a) 3)   ; should be elided
        ((eq x 'c) 4))

Sometimes, this caused the bytecode to use the wrong branch (bug#35770).

* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Return obj2 eval'ed.
(byte-compile-cond-jump-table-info):
Discard redundant condition.  Use `obj2' as evaluated.
Discard duplicated cases instead of failing the table generation.
* test/lisp/emacs-lisp/bytecomp-tests.el (toplevel): Require subr-x.
(byte-opt-testsuite-arith-data, bytecomp-test--switch-duplicates): Test.
2019-05-27 13:25:27 +02:00
Noam Postavsky
dc9f8c1c63 ; Fix read-multiple-choice test
* test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice):
Rebind read-event, read-multiple-choice uses that since 2019-05-26
"Avoid infloop in read-multiple-choice (Bug#32257)".
2019-05-26 21:55:00 -04:00
Basil L. Contovounesios
9fe3bdf25d Tweak recent additions in tabify-tests.el
* test/lisp/tabify-tests.el (tabify-tests--test-changes): Rename
third argument to avoid "lexical argument shadows dynamic variable"
warnings.  Use mapconcat in place of mapcar+concat.
(tabify-tests-untabify, tabify-tests-tabify): Quote function symbols
as such.
2019-05-26 11:56:57 +01:00