1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-02 10:11:05 -08:00
Commit graph

1177 commits

Author SHA1 Message Date
Dmitry Gutov
066f3bc3f3 Recognize iuwu-mod after an escaped newline
* lisp/progmodes/ruby-mode.el (ruby-smie--bosp): Check if the
newline is escaped.
(ruby-smie-rules): Indent iuwu-mod after an escaped newline
correctly.
2016-03-07 05:07:33 +02:00
Dmitry Gutov
dc9d837d02 Don't misindent computed property generator methods
* lisp/progmodes/js.el (js--looking-at-operator-p):
Don't misindent computed property generator methods
(https://github.com/mooz/js2-mode/issues/317).
2016-03-05 14:35:35 +02:00
Ulf Jasper
8b01e6969f Prevent infinite loop on not-well-formed xml. (Bug#16344)
* lisp/xml.el (xml-parse-tag-1): Prevent inifinite loop. (Bug#16344)
* test/automated/xml-parse-tests.el (xml-parse-tests--bad-data): Add
  test cases for Bug#16344.
2016-03-02 19:03:27 +01:00
Alan Third
100346aa22 Add the missing test case for the previous patch
lisp/dabbrev.el (dabbrev--substitute-expansion): Return EXPANSION after
any processing.
lisp/dabbrev.el (dabbrev-expand): Set EXPANSION to the return value of
DABBREV--SUBSTITUTE-EXPANSION.
test/automated/dabbrev-tests.el (dabbrev-expand-test): Test for bug#1948.
2016-03-02 17:21:39 +00:00
Michael Albinus
f5d14353c2 Fix targets in test/automated/Makefile.in
* test/automated/Makefile.in: Use $(SELECTOR_DEFAULT) also for
empty target and target all.
2016-03-01 10:58:01 +01:00
Michael Albinus
c582def527 Further adaptions in file-notify-tests.el for w32notify
* test/automated/file-notify-tests.el
(file-notify--test-read-event-timeout, file-notify--test-timeout):
Decrease values.
(file-notify-test03-autorevert)
(file-notify-test04-file-validity)
(file-notify-test05-dir-validity): Run tests also for w32notify.
(file-notify-test08-watched-file-in-watched-dir):
Adapt expected events for w32notify.
2016-02-23 13:51:36 +01:00
Nicolas Richard
6620944f83 (cl-union): Do not ignore :test argument when lists are equal.
* cl-seq.el (cl-union): Do not ignore :test argument when lists are equal.

* test/automated/cl-seq-tests.el: New file (bug#22729).
2016-02-23 14:38:30 +11:00
Michael Albinus
a9c48d5c9e Additional fixes for file notification
* lisp/filenotify.el (top): Require 'cl when compiling.
(file-notify--event-watched-file): New defun.
(file-notify--rm-descriptor, file-notify-callback):
Handle case of several monitors running in parallel.

* test/automated/file-notify-tests.el
(file-notify--test-event-test): Simplify test.
(file-notify--test-with-events): Get rid of outer definition.
Check also results of tests performed in callbacks.
(file-notify-test02-events): No wrapping when calling
`file-notify-rm-watch'.  No special checking for callback tests.
(file-notify-test07-backup): Adapt expected events for gfilenotify.
(file-notify-test08-watched-file-in-watched-dir): Improve.
2016-02-22 18:52:37 +01:00
Michael Albinus
5baa001cec Fix Bug#22736
* lisp/filenotify.el (file-notify-callback): Use the proper
descriptor when calling the callback.  (Bug#22736)

* test/automated/file-notify-tests.el
(file-notify--test-event-handler): Deactivate trace.
(file-notify-test08-watched-file-in-watched-dir): Bind
`file-notify--test-tmpfile' temporarily in `dir-callback'.
2016-02-21 09:58:55 +01:00
Michael Albinus
6de26a78de Report also result in `file-notify--test-event-handler' 2016-02-20 14:20:54 +01:00
Michael Albinus
5d17ae7d46 Improve file-notify-test08-watched-file-in-watched-dir
* test/automated/file-notify-tests.el (file-notify--test-desc2):
New variable.
(file-notify--test-cleanup): Use it.
(file-notify--test-event-handler): Enable trace.
(file-notify-test08-watched-file-in-watched-dir): Tag it as
:expensive-test.  Rewrite callbacks to use
`file-notify--test-event-handler'.  Read events in loop.  Check
`file-notify--test-results'.
(file-notify-test08-watched-file-in-watched-dir): Fix docstring.
2016-02-20 14:04:36 +01:00
Tassilo Horn
2a75f64dd2 New filenotify test for bug#22736
* test/automated/file-notify-tests.el
(file-notify-test08-watched-file-in-watched-dir):
(file-notify--test-desc1): New filenotify test for bug#22736
2016-02-20 08:44:51 +01:00
Michael Albinus
3ad05a0dc4 Describe Makefile test targets in test/README
* CONTRIBUTE: Move Makefile test targets to test/README.

* Makefile.in:
* test/README: Describe Makefile test targets.
2016-02-10 12:18:30 +01:00
Michael Albinus
37eae51767 Some fixes in file-notify-tests.el
* test/automated/file-notify-tests.el
(file-notify--test-with-events-check)
(file-notify--test-with-events-explainer): New defuns.
(file-notify--test-with-events): Use it.
(file-notify-test07-backup): Fix docstring.  Some of the
backends fire two `changed' events.  Backup by rename doesn't
work for kqueue.
2016-02-08 10:54:43 +01:00
Michael Albinus
d5a10aefee Fix Bug#22557
* lisp/filenotify.el (file-notify-callback): Do not send a
`stopped' event in case of backup by renaming.  (Bug#22557)

* test/automated/Makefile.in: Use $(SELECTOR_EXPENSIVE) for
all targets but check and check-maybe.

* test/automated/file-notify-tests.el
(file-notify--test-read-event-timeout): New defconst.
(file-notify--deftest-remote, file-notify--wait-for-events)
(file-notify-test02-events)
(file-notify-test04-file-validity)
(file-notify-test06-many-events): Use it.
(file-notify--test-cleanup): Make it more robust.  Delete also
backup file.
(file-notify-test07-backup): New test.
2016-02-07 19:30:01 +01:00
Eli Zaretskii
49e57490d0 Fix file-notify-test on MS-Windows
* test/automated/file-notify-tests.el (file-notify--test-timeout):
Reduce w32notify timeout to 10 sec.
(file-notify-test06-many-events): Call read-event after each
rename, to keep the w32notify backend happy in batch mode.
(Bug#22534)
2016-02-06 21:53:38 +02:00
Eli Zaretskii
87ae21858a Extend etags Ruby support for accessors
* lib-src/etags.c (Ruby_functions): Support accessors defined with
parentheses.  (Bug#22563)

* test/etags/ruby-src/test1.ru (A::B): Add tests for accessors
defined with parentheses.
* test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5:
* test/etags/ETAGS.good_6:
* test/etags/CTAGS.good: Adapt to changes in Ruby tests.
2016-02-06 11:08:20 +02:00
Michael Albinus
1eaf68f368 * test/automated/file-notify-tests.el (file-notify-test06-many-events):
Reduce the number of iterations to 250 in case of w32notify.
2016-02-05 22:55:28 +01:00
Dmitry Gutov
3dda11032f Remove 'def X' from the example
* test/etags/ruby-src/test1.ru (A::B): Remove 'def X'
(http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00167.html).
* test/etags/CTAGS.good:
* test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5:
* test/etags/ETAGS.good_6: Adjust accordingly.
2016-02-04 12:21:03 +03:00
Eli Zaretskii
504696d75d Etags: yet another improvement in Ruby tags
* lib-src/etags.c (Ruby_functions): Handle continuation lines in
Ruby accessor definitions.  (Bug#22241)

* test/etags/ruby-src/test1.ru (A::B#X): Add some more tests for
accessors and multiline definitions.
* test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5:
* test/etags/ETAGS.good_6:
* test/etags/CTAGS.good: Adapt to changes in Ruby tags.
2016-02-03 18:24:20 +02:00
Eli Zaretskii
860da4dccb Fix names of tags generated for Ruby accessors
* lib-src/etags.c (Ruby_functions): Don't include the leading
colon ':' in tags for Ruby accessors and aliases.  (Bug#22241)

* test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5:
* test/etags/ETAGS.good_6:
* test/etags/CTAGS.good: Adapt to changes in Ruby tags.
2016-02-02 20:31:43 +02:00
Eli Zaretskii
f6213ce799 Fix file-name recognition in 'etags'
* lib-src/etags.c (get_language_from_filename): If FILE includes a
leading directory, compare only its basename to the known file
names in lang_names[].

* test/etags/Makefile (RBSRC): Adapt to recent test1.ruby
renaming.
* test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5:
* test/etags/ETAGS.good_6:
* test/etags/CTAGS.good: Adapt to changes in Ruby file names and
to the results in Makefile due to the above etags.c fix.
2016-02-02 20:01:33 +02:00
Eli Zaretskii
e42e662f26 Change Ruby file names and extensions recognized by 'etags'
* lib-src/etags.c <Ruby_filenames>: New variable, holds names
of Ruby files.
<Ruby_suffixes>: Treat .rb, .ru, and .rbw as Ruby extensions.
<lang_names>: Add Ruby_filenames to the Ruby entry.
* test/etags/ruby-src/test1.ru: Renamed from test1.ruby.
(Bug#22241)
2016-02-02 19:50:08 +02:00
Eli Zaretskii
58bfb6a4f5 More improvements for Ruby support in 'etags'
* lib-src/etags.c (Ruby_functions): Tag Ruby accessors and
alias_method.  Identify constants even if the assignment is not
followed by whitespace.  (Bug#22241)

* test/etags/ruby-src/test1.ruby: Add tests for constants,
accessors, and alias_method.
* test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5:
* test/etags/ETAGS.good_6:
* test/etags/CTAGS.good: Adapt to changes in Ruby tests.
2016-02-02 19:16:22 +02:00
Simen Heggestøyl
1d07dcd720 Highlight two additional SCSS keywords
* lisp/textmodes/css-mode.el (css-bang-ids): New defconst holding CSS
identifiers on the form !foo.
(scss-bang-ids): New defconst holding SCSS identifiers on the form
!foo.
(css--font-lock-keywords): Highlight the new SCSS bang identifiers in
`font-lock-builtin-face'.

* test/indent/css-mode.css: Add bang rule test case.

* test/indent/scss-mode.css: Add test cases for the introduced bang
rules.
2016-02-01 21:38:25 +01:00
lu4nx
40a85fba44 Support Go language in 'etags'
* lib-src/etags.c <Ruby_help>: Fix documentation of Ruby tags.
<Go_help>: New help.
<Go_suffixes>: New variable.
(Go_functions): New function.
<lang_names>: Add entry for Go.  (Bug#22370)

* doc/emacs/maintaining.texi (Tag Syntax): Document Go support.
* doc/man/etags.1: Mention Go support.

* etc/NEWS: Mention Go support.

* test/etags/go-src/test.go:
* test/etags/go-src/test1.go: New test files.
* test/etags/Makefile (GOSRC): New variable.
(SRCS): Add $(GOSRC).
* test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5:
* test/etags/ETAGS.good_6:
* test/etags/CTAGS.good: Adapt to addition of Go tests.
2016-01-30 14:56:43 +02:00
Eli Zaretskii
25b79d7bc7 Improve Ruby support in 'etags'
* lib-src/etags.c (Ruby_functions): Tag constants.  Don't tag
singleton classes.  Remove class qualifiers from tags generated
for method and constant names.  (Bug#22241)

* doc/emacs/maintaining.texi (Tag Syntax): Mention that constants
are tagged by etags in Ruby.

* etc/NEWS: Mention that constants are tagged by etags in Ruby.

* test/etags/ruby-src/test1.ruby: Add more tests.
* test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5:
* test/etags/ETAGS.good_6:
* test/etags/CTAGS.good: Adapt to the changes in etags and in Ruby
tests.
2016-01-30 14:16:36 +02:00
Eli Zaretskii
ccc3b3cd68 Adjust etags test results to changes in copyright years
* test/etags/CTAGS.good:
* test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5:
* test/etags/ETAGS.good_6: Adjust to shift in characters and
in line numbers.
2016-01-30 12:18:43 +02:00
Glenn Morris
9dec01d291 ; Spelling fixes (American spelling) 2016-01-25 18:24:09 -05:00
Alan Mackenzie
ec90220ac1 Expunge "allow" + infinitive from source and doc, part 2.
Do the same for "permit", "enable", "prevent", and (where appropriate)
"require".

doc/misc/reftex.texi:
doc/misc/url.texi:
lib/get-permissions.c:
lib/strftime.c:
lisp/org/org-element.el:
lisp/org/org-mobile.el:
lisp/textmodes/reftex-vars.el:
src/bidi.c:
src/emacs.c:
src/xdisp.c:
test/etags/c-src/emacs/src/lisp.h:

Expunge the likes of "This allows to do something" from the above files.
2016-01-25 12:35:15 +00:00
Michael Albinus
7bf54d0115 Backport kqueue integration from master
* configure.ac (--with-file-notification): Add kqueue.
(top): Remove special test for "${HAVE_NS}" and
${with_file_notification}, this is handled inside gfilenotify
tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
instead of library specific variables.  Add error message for
gfile on Nextstep.

* doc/lispref/os.texi (File Notifications): Add kqueue as backend.
Fix some glitches in the example.

* etc/NEWS: Mention kqueue.

* lisp/filenotify.el (file-notify--library)
(file-notify-descriptors, file-notify-callback)
(file-notify-add-watch, file-notify-rm-watch)
(file-notify-valid-p): Add kqueue support.
(file-notify--rm-descriptor): Remove WHAT arg.

* src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.

* src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.

* src/inotify.c (inotifyevent_to_event): Extract file name from
watch_object if the event doesn't provide it.
(Finotify_add_watch): Add file name to watch_object.

* src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.

* src/kqueue.c: New file.

* src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.

* test/automated/file-notify-tests.el
(file-notify--test-expected-events): Remove.
(file-notify--test-cleanup): Do not set that variable.
(file-notify--test-timeout) Use different timeouts for
different libraries.
(file-notify--test-library): New defun.
(file-notify--test-event-test): Make stronger checks.
(file-notify--test-with-events): EVENTS can also be a list of
lists.  Flush outstanding events before running the body.
Make timeout heuristically depend on the number of events.
(file-notify-test01-add-watch, file-notify-test02-events)
(file-notify-test04-file-validity, file-notify-test05-dir-validity):
Rewrite in order to call file monitors but directory monitors.
(file-notify-test02-events, file-notify-test04-file-validity): Do
not skip cygwin tests.  Add additional test for file creation.
Adapt expected result for different backends.
(file-notify-test03-autorevert): Some of the tests don't work for
w32notify.
(file-notify-test06-many-events): New test.
2016-01-22 19:56:09 +01:00
Dmitry Gutov
6a9399f7fd Support squiggly heredocs in ruby-mode
* lisp/progmodes/ruby-mode.el (ruby-here-doc-beg-re):
Support squiggly heredocs added in Ruby 2.3.

* test/indent/ruby.rb: Add squiggly example.
2016-01-21 00:26:38 +03:00
Dmitry Gutov
2ac78c2346 Rename methods in Ruby etags example file
* test/etags/ruby-src/test.rb: Rename the example methods to
correspond to the common terminology used in Ruby.
* test/etags/CTAGS.good:
* test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5:
* test/etags/ETAGS.good_6: Adjust accordingly.
2016-01-19 08:03:41 +03:00
Phillip Lord
549a765efe Enable test selector from command line
* test/automated/Makefile.in: Change variable manipulation to avoid
  over-writing selector.
2016-01-15 22:11:39 +00:00
Simen Heggestøyl
dadb841a06 Disallow parenthesis in non-pseudo CSS selectors
* lisp/textmodes/css-mode.el (css--font-lock-keywords): Disallow
parenthesis in selectors except for in the function notation that
might appear right after a pseudo-class.
* test/indent/scss-mode.scss: Add a test for it.
2016-01-14 19:24:03 +01:00
Michael Albinus
058f8a8d55 check-maybe shall run only default tests
* test/automated/Makefile.in (check, check-expensive): Depend on
mostlyclean.
(check-maybe): Re-run only default tests.
(check-doit): Use code of check-maybe.
(mostlyclean): Move *.log files away.
2016-01-14 09:11:14 +01:00
Paul Eggert
d022b707d6 Fix one more misuse of time-stamp-time-zone
* test/etags/html-src/softwarelibero.html: Use "UTC0" rather
than the unportable "GMT" for time zone.
2016-01-13 08:32:00 -08:00
Glenn Morris
0ae1a144a8 * test/automated/core-elisp-tests.el
(core-elisp-tests-1-defvar-in-let): Add a custom type.
2016-01-12 20:04:49 -05:00
Dmitry Gutov
1f6898d051 test/automated/vc-hg.el: Support out-of-tree build
* test/automated/vc-hg.el
(vc-hg-annotate-extract-revision-at-line-with-filename)
(vc-hg-annotate-extract-revision-at-line-with-both):
Don't refer to source-directory.
http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00755.html
2016-01-12 00:17:49 +03:00
Michael Albinus
3adb56e7b2 Minor change in tramp-tests.el
* test/automated/tramp-tests.el (tramp-test29-vc-registered):
Use `dired-uncache' instead of a Tramp internal function.
2016-01-11 19:43:36 +01:00
Michael Albinus
1089dc98b7 Handle too long commands in Tramp
* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
(tramp-do-file-attributes-with-ls): Send sequence of commands, in
order to not exceed shell command line limit.

* test/automated/tramp-tests.el (tramp--test-darwin-p): Remove.
(tramp--test-utf8): Include Arabic file name, again.
2016-01-10 13:07:21 +01:00
Stefan Monnier
bd3f53dd2e * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
* lisp/progmodes/sh-script.el (sh-smie-sh-rules): Improve indentation
within $(...).
* test/indent/shell.sh: Add corresponding test.
2016-01-10 00:31:29 -05:00
Dmitry Gutov
cca0f93359 ; Account for spaces before the filename 2016-01-10 04:38:34 +03:00
Dmitry Gutov
c71e1e86df Use short date for 'hg annotate', and output the author
* lisp/vc/vc-hg.el (vc-hg-annotate-command):
Change '-d' to '-dq'.  (Bug#21805)
(vc-hg-annotate-switches): Default to "-u" "--follow".
(vc-hg-annotate-re): Update to recognize the short date format
and the optional username.
(vc-hg-annotate-time)
(vc-hg-annotate-extract-revision-at-line): Update accordingly.

* test/automated/vc-hg.el: New file.
2016-01-10 04:13:01 +03:00
Michael Albinus
90fd798aac Fix coding system for Tramp on OS X.
* lisp/net/tramp-compat.el: Require ucs-normalize.

* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
Set coding system to `utf-8-hfs' for Mac OS X.

* test/automated/tramp-tests.el (tramp-test29-vc-registered):
Flush directory properties when needed.
(tramp--test-utf8): Include Chinese file name, again.
2016-01-09 13:55:02 +01:00
Michael Albinus
5810ac3a10 Suppress Chinese file name test for OSX in tramp-tests.el
* test/automated/tramp-tests.el (tramp--test-utf8):
Remove instrumentation.  Suppress Chinese file name test for OSX.
2016-01-08 10:09:37 +01:00
Michael Albinus
f5c762c878 Additional changes for "make check-expensive"
* CONTRIBUTE : Encourage use of ":tags '(:expensive-test)".
Explain make target `check-expensive'.

* etc/NEWS: Mention new make target `check-expensive'.

* test/automated/Makefile.in (check-doit): New target.
(check, check-expensive): Use it.
2016-01-05 09:47:41 +01:00
Michael Albinus
4e62197a64 Introduce check-expensive tests.
* Makefile.in (check-expensive):
* test/automated/Makefile.in (check-expensive): New target.

* test/automated/auto-revert-tests.el
(auto-revert-test01-auto-revert-several-files):
* test/automated/file-notify-tests.el (file-notify--deftest-remote):
* test/automated/tramp-tests.el (tramp-test26-process-file)
(tramp-test27-start-file-process, tramp-test28-shell-command)
(tramp-test29-vc-registered)
(tramp-test31-special-characters-with-stat)
(tramp-test31-special-characters-with-perl)
(tramp-test31-special-characters-with-ls)
(tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
(tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
(tramp-test35-unload): Tag the tests as :expensive-test.
2016-01-04 23:28:07 +01:00
Michael Albinus
6300655ec9 Minor fixes in tramp-tests.el
* test/automated/tramp-tests.el (tramp-test26-process-file):
Move point properly.
(tramp-test29-vc-registered): Work with relative file names.
2016-01-04 19:25:39 +01:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00