* test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264):
Add test for Bug#24264.
(cl-seq-fill-test, cl-seq-replace-test)
(cl-seq-remove-test ,cl-seq-delete-test)
(cl-seq-remove-duplicates-test, cl-seq-substitute-test)
(cl-seq-nsubstitute-test, cl-seq-position-test)
(cl-seq-count-test, cl-seq-mismatch-test)
(cl-seq-search-test, cl-seq-test-bug24264):
Add tests for all functions in the file; test all keywords.
* lisp/net/tramp-compat.el
(tramp-compat-temporary-file-directory-function): New defalias.
* lisp/net/tramp.el (tramp-handle-make-nearby-temp-file): Use it.
* test/lisp/net/tramp-tests.el (tramp-test32-make-nearby-temp-file):
Skip for older Emacs versions.
d4c6774 Fix missing point information in undo
3a9d629 Avoid crashes when buffer modification hooks clobber match data
178b2f5 Note combine-and-quote-strings doesn't shell quote
dec7567 Explain when package-initialize isn't called
113d1e2 Fix escaping in sh-indent-after-continuation docstr
80e2044 ; * etc/NEWS: Improve previous change.
5bb9e6c ; * etc/NEWS: Document how to avoid horizontal scroll bars.
38f4b8e Clarify the documentation of back-references in replacements
* lisp/emacs-lisp/cl-generic.el (cl--generic-load-hist-format): New function.
(cl-generic-define-method, cl--generic-describe): Use it.
(cl--generic-search-method): Adjust for new format.
* lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
* test/lisp/progmodes/elisp-mode-tests.el:
Use cl--generic-load-hist-format rather than hard-coding cl-generic's
internal format.
* test/lisp/dired-tests.el (dired-test-bug22694): Delete the
"bug22694" directory, if it exists, before running the test. It
might be left over from a previous aborted run of the test.
Some tests are marked as expected to fail.
* test/lisp/international/ucs-normalize-tests.el: New tests.
* admin/unidata/NormalizationTest.txt: Add data for tests.
* admin/unidata/README: Add URL for NormalizationTest.txt.
* admin/notes/unicode: Add note about running (and updating the data
for) the new tests. Remove note about normalization being unsupported.
* dired.el (dired-always-read-filesystem): Add new option.
(dired-mark-files-containing-regexp): Use it (Bug#22694).
* doc/emacs/dired.texi: Mention it in the manual.
* test/lisp/dired-tests.el (dired-test-bug22694): Add test.
;* etc/NEWS: Add entry for this change.
* lisp/help-fns.el (describe-function-1): Check for aliases
defined with (defalias alias (symbol-function built-in)) (Bug#23887).
* test/lisp/help-fns-tests.el (help-fns-test-bug23887): Untag as
failing this test.
* lisp/net/tramp-gvfs.el (tramp-gvfs-get-remote-uid-gid-in-progress):
New variable.
(tramp-gvfs-maybe-open-connection): Use it.
* test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
Reorder test.
* lisp/textmodes/css-mode.el (css--complete-property-value): Make
"initial" and "unset" completion candidates for all CSS properties,
just like "inherit".
* test/lisp/textmodes/css-mode-tests.el
(css-test-complete-property-value): Update test to reflect the above
change.
* lisp/simple.el (delete-trailing-whitespace): Set newline’s character
syntax to non-whitespace so that ‘\s-’ regular expression does not match
it.
This simplifies the loop slightly since a simple ‘\s-+$’ can be used and
as a consequence ‘line-beginning-position’ function does not need to be
called any longer.
Furthermore, when newline has whitespace syntax, ‘\s-$’ regular
expression ends up matching empty lins since ‘\s-’ matches newline
characetr of proceeding line. This leads to needless loop iterations.
Since previous change to ‘delete-trailing-whitespace’ already introduced
‘with-syntax-table’, take advantage of it and also overwrite newline’s
character syntax.
* lisp/simple.el (delete-trailing-whitespace): Treat form fead as
a non-whitespace character (regradless of whether it’s character syntax
is whitespace) and delete any whitespace following it instead of leaving
lines with form feeds completely unchanged. I.e. a line like "\f " will
now became "\f".
* lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
Handle quoting of the first character in the string.
* test/lisp/progmodes/ruby-mode-tests.el
(ruby-toggle-string-quotes-quotes-correctly): Update.
* lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
Change logic to quote based on the current quote of the string.
* test/lisp/progmodes/ruby-mode-tests.el
(ruby-toggle-string-quotes-quotes-correctly): Add test.
Copyright-paperwork-exempt: yes
* lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-p" and
"-s" arguments.
(tramp-do-copy-or-rename-file-out-of-band):
Call `file-name-directory' also for remote NEWNAME.
* test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
Do not skip for tramp-smb.el. Test als COPY-CONTENTS case.
(tramp-test24-file-name-completion): Improve check for
hostname completion.
(tramp--test-rsync-p): New defun.
(tramp-test31-special-characters)
(tramp-test31-special-characters-with-stat)
(tramp-test31-special-characters-with-perl)
(tramp-test31-special-characters-with-ls, tramp-test32-utf8)
(tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
(tramp-test32-utf8-with-ls): Skip for "rsync".
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
Check also for CIFS capabilities.
* test/lisp/filenotify-tests.el (file-notify--test-with-events):
Fix thinko in test.
(file-notify-test02-events, file-notify-test04-file-validity)
(file-notify-test07-backup)
(file-notify-test08-watched-file-in-watched-dir): Make test
conditions more weak. (Bug#23618)
Make sure seq-contains return the element of the sequence instead of t.
* lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
* test/lisp/emacs-lisp/seq-tests.el: Add a regression test.
* lisp/progmodes/cc-mode.el (c-or-c++-mode): A new function which
analyses contents of the buffer to determine whether it looks like C++
source code and based on that enables c-mode or c++-mode.
(c-or-c++-mode--regexp): Regular expression which, when matches
a buffer, signals file is C++.
* lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): Remove macro
in favour of ‘cl-letf’ macro which is more generic. All existing
uses are migrated accordingly. The macro has not been included in
an official release yet so it should be fine to delete it.
* test/lisp/net/network-stream-tests.el (connect-to-tls-ipv4-wait)
(connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait):
Ensure gnutls-serv process gets killed.
(echo-server-nowait, connect-to-tls-ipv4-nowait):
Limit the amount of time we might wait.
* test/lisp/emacs-lisp/package-resources/package-test-server.py:
Do not hard-code port.
* test/lisp/emacs-lisp/package-tests.el (package-test-update-archives-async):
Update for the above change.
* test/lisp/filenotify-tests.el (file-notify--test-timeout):
Reintroduce value for cygwin, it's needed on slow systems.
(file-notify--wait-for-events): Move up definition.
(file-notify--test-no-descriptors): Use `file-notify--wait-for-events'.
(file-notify--test-with-events-check, file-notify--test-with-events)
(file-notify-test08-watched-file-in-watched-dir):
Use :random rather than `random.
(file-notify-test06-many-events): Do not skip for cygwin.
* test/lisp/filenotify-tests.el (file-notify--test-timeout):
Remove special case for Cygwin.
(file-notify-test07-backup): Update expected results on Cygwin.
* test/lisp/character-fold-tests.el:
Remove, as it was renamed to test/lisp/char-fold-tests.el.
* test/lisp/emulation/viper-tests.el:
Rename from test/automated/viper-tests.el.
* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
Let-bind `process-coding-system-alist' in order to suppress
the value for "cmdproxy".
* lisp/net/tramp.el (tramp-encoding-shell):
`w32-shell-name' is a function.
(tramp-encoding-command-switch)
(tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'.
* test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
Suppress some tests on MS Windows. (Bug#23614)