1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 08:43:40 -07:00
Commit graph

638 commits

Author SHA1 Message Date
Michael Albinus
ad99550610 Make tramp-test42-auto-load more robust
* test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
Make it more robust.  Don't skip.
2017-11-30 20:31:33 +01:00
Michael Albinus
3dd25aeecb Some minor Tramp corrections
* lisp/net/tramp.el (tramp-handle-directory-file-name):
Handle several trailing slashes correctly.
(tramp-handle-file-selinux-context): New defun.

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
Use `tramp-handle-file-selinux-context'.

* test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
Extend test.
(tramp-test17-insert-directory): Make check more robust.
(tramp-test42-auto-load): Combine several let forms.
(tramp-test42-delay-load, tramp-test42-recursive-load)
(tramp-test42-remote-load-path, tramp-test43-unload): Rename.
2017-11-29 09:37:42 +01:00
Michael Albinus
06d05fec84 Fix Bug#29163
* lisp/net/tramp.el (tramp-autoload-file-name-regexp):
Do not use "\\'" in regexp.  (Bug#29163)
(top) Do not run (tramp-register-autoload-file-name-handlers)
when loading tramp.el.

* test/lisp/net/tramp-tests.el (tramp--test-mock-p): New defun.
(tramp-test32-environment-variables-and-port-numbers)
(tramp-test41-asynchronous-requests): Use it.
(tramp-test42-auto-load): New test.
(tramp-test43-recursive-load, tramp-test44-remote-load-path)
(tramp-test45-delay-load, tramp-test46-unload): Rename.
2017-11-27 13:31:53 +01:00
Gemini Lasswell
700f74e4c8 Fix Edebug specs for if-let* and and-let* (Bug#29236)
* test/lisp/emacs-lisp/subr-x.el (if-let*, if-let): Change Edebug
spec to cause Edebug to instrument tests the results of which are
not bound to symbols (the (VALUEFORM) case).
(and-let*): Change Edebug spec to allow empty body.

*test/lisp/emacs-lisp/subr-x-tests.el:
(subr-x-and-let*-test-group-1): Add missing quote to erroneous
form so Edebug will work on this test.
2017-11-26 17:36:14 -08:00
Gemini Lasswell
0ded1b41a9 Fix Edebug's handling of dotted specs (bug#6415)
* lisp/emacs-lisp/cl-macs.el (cl-destructuring-bind): Use
cl-macro-list1 instead of cl-macro-list in Edebug spec.

* lisp/emacs-lisp/edebug.el (edebug-after-dotted-spec): Delete
unused variable.
(edebug-dotted-spec): Add docstring.
(edebug-match-specs): Allow &optional and &rest specs to
match nothing at the tail of a dotted form. Handle matches of
dotted form tails which return non-lists.

* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-dotted-forms):
New test.

* test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el:
(edebug-test-code-use-destructuring-bind): New function.
2017-11-26 13:44:15 -08:00
Paul Eggert
a89f0b6f33 maint: shorten https://lists.gnu.org/archive/html/... links 2017-11-25 22:48:12 -08:00
Michael Albinus
55c5b12fa0 Add test for Bug#29423 in Tramp.
* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
Add test for Bug#29423.
2017-11-25 16:03:53 +01:00
Glenn Morris
92f0c4cd56 Avoid bogus abbreviated file names if HOME changes
* lisp/files.el (abbreviate-file-name):
If HOME changes, ignore `abbreviated-home-dir'.  (Bug#19657#20)
* test/lisp/files-tests.el (files-test-abbreviated-home-dir): New.
2017-11-21 12:27:36 -05:00
Michael Albinus
504a56cf32 ; Fix last commit 2017-11-19 12:50:05 +01:00
Michael Albinus
a34e44e8ee ; Fix last commit
* test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
Check for local ACL support.  (Bug#29291)
2017-11-19 12:22:30 +01:00
Michael Albinus
a8892b4e62 Further fix for Bug#29291
* test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
Check for local ACL support.  (Bug#29291)
2017-11-19 12:11:18 +01:00
Michael Albinus
c355529bae Fix bug in tramp-handle-file-truename
* lisp/net/tramp.el (tramp-handle-file-truename): Expand localname.

* test/lisp/net/tramp-tests.el (tramp-test21-file-links): Check also
relative symbolic links.
2017-11-18 14:24:03 +01:00
Michael Albinus
d8e0951d5f ; Remove Tramp test instrumentation. Do not merge
* test/Makefile.in: Remove instrumentation for tramp-tests.

* test/lisp/net/tramp-tests.el (tramp-test41-asynchronous-requests):
Remove instrumentation.
2017-11-17 13:14:58 +01:00
Paul Eggert
720322aab8 ; Spelling fixes 2017-11-16 00:01:00 -08:00
Michael Albinus
a5ec644caa Fix Bug#29291
* test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
Preserve permissions when copying.  (Bug#29291)
2017-11-14 10:38:41 +01:00
Michael Albinus
8b900e5ba2 Fix Bug#2928
* test/lisp/net/tramp-tests.el (tramp-test25-file-selinux):
Enhance test.  (Bug#29287)
(tramp-test44-delay-load): Fix for older Emacsen.
2017-11-14 10:21:55 +01:00
João Távora
fe85ce1e16 Unbreak interactive run of a flymake test (bug#29267)
See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19657#20 for the
technique used here.

* test/lisp/progmodes/flymake-tests.el (ruby-backend):
Let-bind abbreviated-home-dir.
2017-11-12 12:34:36 +00:00
Michael Albinus
48ad00390d Fix Bug#29225
* src/fileio.c (Fset_file_acl): Report error only when
acl_errno_valid returns true.  (Bug#29225)

* test/lisp/net/tramp-tests.el (tramp-test24-file-acl)
(tramp-test25-file-selinux): New tests.
(tramp-test26-file-name-completion, tramp-test27-load)
(tramp-test28-process-file, tramp-test29-start-file-process)
(tramp-test30-interrupt-process, tramp-test31-shell-command)
(tramp-test32-environment-variables)
(tramp-test32-environment-variables-and-port-numbers)
(tramp-test33-explicit-shell-file-name)
(tramp-test34-vc-registered)
(tramp-test35-make-auto-save-file-name)
(tramp-test36-find-backup-file-name)
(tramp-test37-make-nearby-temp-file)
(tramp-test38-special-characters)
(tramp-test38-special-characters-with-stat)
(tramp-test38-special-characters-with-perl)
(tramp-test38-special-characters-with-ls, tramp-test39-utf8)
(tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
(tramp-test39-utf8-with-ls, tramp-test40-file-system-info)
(tramp-test41-asynchronous-requests)
(tramp-test42-recursive-load, tramp-test43-remote-load-path)
(tramp-test44-delay-load, tramp-test45-unload): Rename.
2017-11-12 13:06:09 +01:00
João Távora
e286b3381f Fix more flymake-diag-region eob corner cases and add tests (bug#29201)
* lisp/progmodes/flymake.el (flymake-diag-region): Correct
more eob corner cases.

* test/lisp/progmodes/flymake-tests.el
(eob-region-and-trailing-newline): New test.
2017-11-11 23:44:52 +00:00
João Távora
0da08f2f8e Protect Flymake tests against older Ruby and Perl (bug#29187)
* test/lisp/progmodes/flymake-tests.el (perl-backend): Search
for the error from the bottom.
(ruby-backend): Protect against situation of bug#29187
2017-11-09 09:38:11 +00:00
Ryan C. Thompson
255ba01148 Fix handling of nil PRED2 arg for completion-table-with-predicate
* lisp/minibuffer.el (completion-table-with-predicate): Don't act as
if strict is non-nil when pred2 is nil (Bug#27841).
* test/lisp/minibuffer-tests.el
(completion-table-with-predicate-test): Add a test for Bug#27841.
2017-11-07 21:25:55 -05:00
Glenn Morris
795bb233a5 * test/lisp/net/tramp-tests.el (tramp-test16-file-expand-wildcards):
Clean up properly.
2017-11-06 18:50:53 -05:00
Michael Albinus
ca2d94ba61 Do not load Tramp unless `tramp-mode' is non-nil
* lisp/net/tramp.el (tramp-autoload-file-name-handler): Load Tramp only if
`tramp-mode' is non-nil.
(tramp-unload-file-name-handlers): Unload also
`tramp-autoload-file-name-handler'.

* test/lisp/net/tramp-tests.el (tramp-test42-delay-load): Extend test.
2017-11-05 20:08:05 +01:00
João Távora
58bb3462ee Add tests for Flymake backends for Ruby and Perl
* test/lisp/progmodes/flymake-tests.el (perl-backend)
(ruby-backend): New tests.
(warning-predicate-rx-perl, warning-predicate-function-perl):
Delete tests.

* test/lisp/progmodes/flymake-resources/test.pl: Include an
error the test file.

* test/lisp/progmodes/flymake-resources/test.rb: file.
2017-11-05 12:55:43 +00:00
Glenn Morris
e6b4e5ffdf Fix some doc typos
* lisp/calendar/todo-mode.el (todo-next-item)
(todo-previous-item, todo-toggle-item-header):
* lisp/window.el (move-to-window-group-line):
* src/editfns.c (Fformat):
* test/lisp/calendar/todo-mode-tests.el (todo-test-move-item05):
Fix doc typos.

; And in some comments.
2017-10-27 20:04:47 -04:00
Tino Calancha
7f089aa5f6 Require seq in rmc.el
* lisp/emacs-lisp/rmc.el: Require seq (Bug#28975).
* test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice): Add test.
2017-10-27 20:21:26 +09:00
Michael Albinus
646e56e150 Fix Bug#28959
* lisp/net/tramp.el (tramp-handle-find-backup-file-name):
Use `tramp-tramp-file-p' rather than `tramp-file-name-p'.  Add
hop to backup file name.  (Bug#28959)

* test/lisp/net/tramp-tests.el (tramp-test34-find-backup-file-name):
New test.
(tramp-test35-make-nearby-temp-file)
(tramp-test36-special-characters)
(tramp-test36-special-characters-with-stat)
(tramp-test36-special-characters-with-perl)
(tramp-test36-special-characters-with-ls, tramp-test37-utf8)
(tramp-test37-utf8-with-stat, tramp-test37-utf8-with-perl)
(tramp-test37-utf8-with-ls, tramp-test38-file-system-info)
(tramp-test39-asynchronous-requests)
(tramp-test40-recursive-load, tramp-test41-remote-load-path)
(tramp-test42-delay-load, tramp-test43-unload): Rename.
2017-10-26 16:24:28 +02:00
Michael Albinus
d6c1a9cb8a ; Fix author email address in test/lisp/url/url-tramp-tests.el 2017-10-25 13:45:01 +02:00
Michael Albinus
761c630766 Fix Bug#28982
* admin/MAINTAINERS: Add test/lisp/url/url-tramp-tests.el.

* lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp)
(url-tramp-convert-tramp-to-url): Adapt to recent Tramp changes.

* test/lisp/url/url-tramp-tests.el: New file.  (Bug#28982)
2017-10-25 13:36:49 +02:00
Gemini Lasswell
928a106939 Fix Edebug specs for map-let and with-maps-do
* lisp/emacs-lisp/map.el (map-let): Fix Edebug spec (bug#24777).
* test/lisp/emacs-lisp/map-tests.el (with-maps-do): Fix Edebug spec.
2017-10-24 08:17:33 -07:00
Michael Albinus
46f2ee0d4c * test/lisp/net/tramp-tests.el (tramp-test41-delay-load): New test.
(tramp-test42-unload): Rename.
2017-10-24 11:55:20 +02:00
Glenn Morris
a015db90e3 * test/lisp/progmodes/sql-tests.el
(sql-tests-postgres-list-databases-error): Silence compiler.
2017-10-23 22:02:46 -07:00
Michael Albinus
8093e82e42 Improve backward compatibility of tramp-tests.el
* test/lisp/net/tramp-tests.el (tramp--test-emacs26-p): Fix docstring.
(tramp-test41-unload): Skip unless Emacs >= 26.
2017-10-23 12:46:32 +02:00
Alexander Gramiak
a012ec766c Don't fill keywords after Emacs Lisp docstring
This approach does mean that keywords that have spaces before them
inside of docstrings aren't filled, but I think this is should be fine
until Bug#28937 is fixed.

* lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Add a colon to
paragraph-start unconditionally, but require that it follows at least
one space.  (Bug#24622)
* test/lisp/emacs-lisp/lisp-tests.el: New tests for Bug#24622 and
Bug#7751.
2017-10-22 12:46:55 -06:00
John Williams
237e96bc52 Test that advice doesn't trigger bytecomp warnings (Bug#28803)
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--test-no-warnings-with-advice): New test.

Copyright-paperwork-exempt: yes
2017-10-21 19:20:46 -04:00
Noam Postavsky
9e4265ef91 Ignore string properties when saving eshell history (Bug#28700)
* lisp/eshell/em-hist.el (eshell-write-history): Remove properties
before inserting history strings.
(eshell-read-history): Remove obsolete comment.
* test/lisp/eshell/em-hist-tests.el (eshell-write-readonly-history):
New test.
2017-10-21 15:19:14 -04:00
Glenn Morris
11bd8aa24b Fix flymake's loading of subr-x
* lisp/progmodes/flymake.el, test/lisp/progmodes/flymake-tests.el:
No need to load subr-x at run-time.
2017-10-20 13:07:30 -04:00
Michael Albinus
b500e06f4d Fix Bug#28896
* lisp/net/tramp-adb.el (tramp-adb-handle-rename-file):
* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): Handle FILENAME
being a directory.  (Bug#28896)

* test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
(tramp-test12-rename-file): Test also FILENAME being a directory.
2017-10-20 12:46:54 +02:00
João Távora
d815de017b Skip a Flymake test for old gcc versions
Fixes: 28906

* test/lisp/progmodes/flymake-tests.el
(different-diagnostic-types): Skip this test for gcc versions
< 5.
2017-10-20 11:28:07 +01:00
Glenn Morris
ddd547fada Improve treatment of Fortran's "class default"
* lisp/progmodes/f90.el (f90-start-block-re, f90-no-block-limit):
Handle "class default".  (Bug#28786)
* test/automated/f90.el (f90-test-bug25039): Add "class default".
2017-10-19 20:05:48 -04:00
Michael Albinus
3ea6a4d4ba Skip an rsync test in tramp-tests.el
* test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards):
Skip for "rsync".
2017-10-19 17:47:14 +02:00
Eli Zaretskii
db68cefe72 Fix errors in kmacro.el post-command-hook
* lisp/kmacro.el (kmacro-step-edit-active): Initialize to nil to
avoid 'void-variable' errors.  (Bug#28818)
* test/lisp/kmacro-tests.el
(kmacro-tests-step-edit-cleans-up-hook): Now succeeds.  (Bug#18708)
2017-10-16 19:36:06 +03:00
Paul Eggert
864734d112 ; Prefer https: to http: in GNU URLs 2017-10-14 19:19:24 -07:00
Paul Eggert
5d51403ceb ; Typo fixes, mostly repeated words 2017-10-09 22:55:06 -07:00
João Távora
11b37b4a9f Be lazy when starting Flymake checks
Don't start the check immediately if the buffer is not being
displayed.  Wait until it is, using window-configuration-change-hook.

This enables the user to batch-enable flymake-mode on many buffers and
not have that operation exhaust system resources for checking each
one.  Likewise, an editing or save operation in a currently
non-displayed buffer does not immediately start a check.

* lisp/progmodes/flymake.el (flymake-start-on-flymake-mode):
Rename from flymake-start-syntax-check-on-find-file.
(flymake-start-syntax-check-on-find-file): Obsolete alias for
flymake-start-on-flymake-mode.
(flymake-start): Redesign.  Affect the global post-command-hook
and local window-configuraiton-change-hook.
(flymake--schedule-timer-maybe)
(flymake-after-change-function, flymake-after-save-hook): Pass
t to flymake-start.

* test/lisp/progmodes/flymake-tests.el (flymake-tests--call-with-fixture)
(dummy-backends, recurrent-backend): Start flymake check
explicitly and immediately.
2017-10-09 11:12:57 +01:00
Michael Albinus
1cd334cd47 Handle PARENTS properly in tramp-*-handle-make-directory
* lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
Handle PARENTS properly.

* test/lisp/net/tramp-tests.el (tramp-test13-make-directory):
Extend test.
2017-10-08 13:55:20 +02:00
Gemini Lasswell
9a10c8713b Fix dynamic binding wrapper in iter-lambda (bug#25965)
* lisp/emacs-lisp/generator.el (cps--make-dynamic-binding-wrapper):
Remove extra evaluation of form.
* test/lisp/emacs-lisp/generator-tests.el
(cps-iter-lambda-with-dynamic-binding): New test.
2017-10-05 12:43:15 -07:00
Michael Albinus
4ac5ac50c9 Merge branch 'emacs-26' of git.sv.gnu.org:/srv/git/emacs into emacs-26 2017-10-03 16:08:04 +02:00
Michael Albinus
a9ac20c179 Add support for `file-system-info' in Tramp
* lisp/net/tramp.el (tramp-file-name-for-operation):
Add `file-system-info'.

* lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info): New defun.
(tramp-adb-file-name-handler-alist): Use it.

* lisp/net/tramp-gvfs.el (tramp-gvfs-file-system-attributes)
(tramp-gvfs-file-system-attributes-regexp): New defconst.
(tramp-gvfs-handle-file-system-info): New defun.
(tramp-gvfs-file-name-handler-alist): Use it.
(tramp-gvfs-get-directory-attributes): Fix property name.
(tramp-gvfs-get-root-attributes): Support also file system attributes.

* lisp/net/tramp-sh.el (tramp-sh-handle-file-system-info): New defun.
(tramp-sh-file-name-handler-alist): Use it.
(tramp-sh-handle-insert-directory): Insert size information.
(tramp-get-remote-df): New defun.

* lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): New defun.
(tramp-smb-file-name-handler-alist): Use it.
(tramp-smb-handle-insert-directory): Insert size information.

* test/lisp/net/tramp-tests.el (tramp-test37-file-system-info):
New test.
(tramp-test38-asynchronous-requests)
(tramp-test39-recursive-load, tramp-test40-remote-load-path)
(tramp-test41-unload): Rename.
2017-10-03 16:07:32 +02:00
João Távora
f6e909b41e Flymake backends can report multiple times per check
Rewrote a significant part of the Flymake backend API.  Flymake now
ignores the return value of backend functions: a function can either
returns or errors.  If it doesn't error, a backend is no longer
constrained to call REPORT-FN exactly once.  It may do so any number
of times, cumulatively reporting diagnostics.  Flymake keeps track of
outdated REPORT-FN instances and disconsiders obsolete reports.
Backends should avoid reporting obsolete data by cancelling any
ongoing processing at every renewed call to the backend function.

Consolidated flymake.el internal data structures to require less
buffer-local variables.  Adjusted Flymake's mode-line indicator to the
new semantics.

Adapted and simplified the implementation of elisp and legacy
backends, fixing potential race conditions when calling backends in
rapid succession.

Added a new test for a backend that calls REPORT-FN multiple
times.  Simplify test infrastructure.

* lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
(flymake-elisp-byte-compile): Error instead of returning nil
if not in emacs-lisp-mode.
(flymake-elisp--byte-compile-process): New buffer-local variable.
(flymake-elisp-byte-compile): Mark (and kill) previous process
obsolete process before starting a new one.  Don't report if
obsolete process.

* lisp/progmodes/flymake-proc.el
(flymake-proc--current-process): New buffer-local variable.
(flymake-proc--processes): Remove.
(flymake-proc--process-filter): Don't bind
flymake-proc--report-fn.
(flymake-proc--process-sentinel): Rewrite.  Don't report if
obsolete process.
(flymake-proc-legacy-flymake): Rewrite.  Mark (and kill)
previous process obsolete process before starting a new
one.  Integrate flymake-proc--start-syntax-check-process
helper.
(flymake-proc--start-syntax-check-process): Delete.
(flymake-proc-stop-all-syntax-checks): Don't use
flymake-proc--processes, iterate buffers.
(flymake-proc-compile):

* lisp/progmodes/flymake.el (subr-x): Require it
explicitly.
(flymake-diagnostic-functions): Reword docstring.
(flymake--running-backends, flymake--disabled-backends)
(flymake--diagnostics-table): Delete.
(flymake--backend-state): New buffer-local variable and new defstruct.
(flymake--with-backend-state, flymake--collect)
(flymake-running-backends, flymake-disabled-backends)
(flymake-reporting-backends): New helpers.
(flymake-is-running): Use flymake-running-backends.
(flymake--handle-report): Rewrite.
(flymake-make-report-fn): Ensure REPORT-FN runs in the correct
buffer or not at all.
(flymake--disable-backend, flymake--run-backend): Rewrite.
(flymake-start): Rewrite.
(flymake-mode): Set flymake--backend-state.
(flymake--mode-line-format): Rewrite.

* test/lisp/progmodes/flymake-tests.el
(flymake-tests--wait-for-backends): New helper.
(flymake-tests--call-with-fixture): Use it.
(included-c-header-files): Fix whitespace.
(flymake-tests--diagnose-words): New helper.
(dummy-backends): Rewrite for new semantics.  Use cl-letf.
(flymake-tests--assert-set): Use quote.
(recurrent-backend): New test.
2017-10-03 14:18:55 +01:00