1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-08 04:30:45 -08:00
Commit graph

1152 commits

Author SHA1 Message Date
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
Paul Eggert
c9dfe5121c Spelling fix
* test/automated/url-parse-tests.el:
(url-generic-parse-url/same-document-reference):
Rename from url-generic-parse-url/same-decument-reference.
2015-12-26 15:40:00 -08:00
Alain Schneble
4b5b3985ad Include the tests for the URL parsing fixes 2015-12-26 14:53:08 +01:00
Alain Schneble
8dea6fe5b5 Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
* test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
* test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
* lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
information in URL-struct.
* lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
path and query into nil path and query, respectively.
* lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
empty path into an absolute ("/") path.
* lisp/url/url-expand.el (url-expand-file-name): Properly resolve
fragment-only URIs. Do not just return them unchanged.
* lisp/url/url-expand.el (url-default-expander): An empty path in the relative
reference URI should not drop the last segment.

Backport:

(cherry picked from commit b792ecea17)
2015-12-26 14:53:08 +01:00
Michael Albinus
dfad97b653 Make tramp-test29-vc-registered more robust
* test/automated/tramp-tests.el (tramp-test29-vc-registered):
Move `bzr' case down.  Skip test when `vc-create-repo' fails.
Remove instrumentation.
2015-12-25 10:45:20 +01:00
Michael Albinus
75a005d39b Instrument Tramp tests
* test/automated/tramp-tests.el (tramp-test29-vc-registered)
(tramp--test-utf8): Instrument tests.
2015-12-22 12:02:58 +01:00
Michael Albinus
f55c0f0c50 Suppress test on Mac OS X
* test/automated/tramp-tests.el (tramp--test-darwin-p): New defun.
(tramp--test-utf8): Use it.
2015-12-20 18:51:24 +01:00
Eli Zaretskii
938495317a Fix parsing netrc entries with ports
* lisp/gnus/auth-source.el (auth-source-ensure-strings): Don't
make a list out of 't'.  (Bug#22188)

* test/automated/auth-source-tests.el
(auth-source-test-netrc-parse-entry): New test.
2015-12-17 20:31:25 +02:00
Eli Zaretskii
3e08f784d1 Improve Lua support in etags
* lib-src/etags.c (Lua_functions): Skip spaces before looking for
"function".

* etc/NEWS: Mention improved Lua support by 'etags'.

* test/etags/lua-src/test.lua (test): Add tests for indented
function 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 the modified Lua tests.
2015-12-11 12:07:26 +02:00
Eli Zaretskii
cabe904438 Improve and document Ruby support in 'etags'
* lib-src/etags.c (Ruby_suffixes): Add ".ruby".
(Ruby_functions): Support "module" and overloaded operators.
(Ruby_help): Mention "module".

* test/etags/ruby-src/test.rb:
* test/etags/ruby-src/test1.ruby: New files.
* test/etags/Makefile (RBSRC): New tests.
(SRCS): Add ${RBSRC}.
* 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 new Ruby tests.

* doc/man/etags.1: Mention Ruby support.
* etc/NEWS: Mention Ruby support.
2015-12-11 11:17:31 +02:00
Glenn Morris
93f429a324 * test/automated/simple-test.el (undo-auto-boundary-timer): Update
for recent change.
2015-12-08 00:01:31 -08:00
Paul Eggert
9b0ffdbadd Spelling fixes
* doc/misc/calc.texi (Predefined Units): Use the bland modern
scientific style for spelling the units “ampere” and
“angstrom” rather than the older style “Ampere” and
“Ångstrom”.  The latter spelling was wrong anyway (it should
have been “Ångström”).
* lisp/emacs-lisp/ert.el (ert--explain-equal-rec):
Fix misspelling of ‘atom’ in code.
2015-12-07 08:38:05 -08:00
Michael Albinus
0e574ea35e Fix minor Tramp problems found on BSD
* lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not append
trailing slash.  Quote apostrophes.
(tramp-sh-handle-file-truename): Do not append trailing slash in
the "ls" case.
(tramp-get-ls-command-with-w-option): New defun.
(tramp-do-file-attributes-with-ls)
(tramp-do-directory-files-and-attributes-with-stat): Use it.

* test/automated/tramp-tests.el
(tramp-test31-special-characters-with-perl)
(tramp-test31-special-characters-with-ls)
(tramp-test32-utf8-with-perl, tramp-test32-utf8-with-ls):
Suppress also readlink.
2015-12-06 18:55:50 +01:00
Michael Albinus
8b87522925 Fix auto-revert-tests.el when filenotify isn't used
* test/automated/auto-revert-tests.el (auto-revert--wait-for-revert):
Make it working also when filenotify isn't used.
2015-12-06 09:40:23 +00:00
Ulf Jasper
0daba48887 Fix Bug#22092.
* lisp/calendar/icalendar.el (icalendar--get-unfolded-buffer):
  Clean up inconsistent line endings. (Bug#22092)
  (icalendar--clean-up-line-endings): New.
* test/automated/icalendar-tests.el (icalendar-real-world): Add test
  for Bug#22092.
2015-12-05 17:00:44 +01:00
Artur Malabarba
8ebd0a08f3 Remove copyright statements from trivial test files 2015-12-05 11:32:17 +00:00
Alex Dunn
d676e49825 Improve parsing of version strings
* lisp/subr.el (version-regexp-alist): Allow "." as priority separator
(version-to-list): More helpful error messages.
(version-to-list): ".5" is valid (update docstring).  Make
"22.8X3" invalid, as the doc string says.

* test/automated/subr-tests.el (ert-test-version-parsing): New
tests for version string processing.

Copyright-paperwork-exempt: yes
2015-12-05 11:32:01 +02:00
Artur Malabarba
30f3432e95 * lisp/character-fold.el: Remove special case-folding support
(character-fold-to-regexp): Remove special code for
case-folding.  Char-fold search still respects the
`case-fold-search' variable (i.e., f matches F).  This only
removes the code that was added to ensure that f also matched
all chars that F matched.  For instance, after this commit, f
no longer matches 𝔽.

This was necessary because the logic created a regexp with
2^(length of the string) redundant paths.  So, when a very
long string "almost" matched, Emacs took a very long time to
figure out that it didn't.  This became particularly relevant
because isearch's lazy-highlight does a search bounded by (1-
match-end) (which, in most circumstances, is a search that
almost matches).  A recipe for this can be found in bug#22090.
2015-12-04 15:12:34 +00:00
Artur Malabarba
50dce3c422 * lisp/emacs-lisp/package.el (package-unpack): Load before compiling
Reload any previously loaded package files before compiling
the package (also reload the same files after compiling).
This ensures that we have the most recent definitions during
compilation, and avoids generating bad elc files when a macro
changes and it is used in a different file from the one it's
defined in.
2015-12-03 16:13:57 +00:00
Artur Malabarba
61a4b57f1d * lisp/character-fold.el: Add back multi-char matching
(character-fold-to-regexp): Uncomment recently commented code
and make the algorithm "dummer" by not checking every possible
combination.  This will miss some possible matches, but it
greatly reduces regexp size.

* test/automated/character-fold-tests.el
(character-fold--test-fold-to-regexp): Comment out test of
functionality no longer supported.
2015-12-01 13:55:45 +00:00
Dmitry Gutov
48471e9614 Don't mistake certain JS method calls for keywords
* lisp/progmodes/js.el (js--ctrl-statement-indentation):
Braceless keyword can't come after a period (bug#22063).
2015-12-01 05:41:14 +02:00
Artur Malabarba
747f81861c * lisp/character-fold.el (character-fold-to-regexp)
Warn about using long strings.

* test/automated/character-fold-tests.el
(character-fold--test-lax-whitespace)
(character-fold--test-consistency): Reduce string size for tests.
2015-11-28 19:57:14 +00:00
Artur Malabarba
19141a9be6 * lisp/character-fold.el: Also play nice with case-folding
(character-fold-to-regexp): Take `case-fold-search' into account.
2015-11-28 16:21:54 +00:00
Artur Malabarba
5c5997002b * lisp/character-fold.el: Add support for multi-char matches
(character-fold-table): Now has an extra-slot. This is a second
char-table that holds multi-character matches.  See docstring for
details.
(character-fold-to-regexp): Can build branching regexps when a
character's entry the extra slot of `character-fold-table' matches the
characters that succeed it.
2015-11-28 16:21:54 +00:00
Artur Malabarba
35c7dc06ed * lisp/character-fold.el: Code simplifications
(character-fold-table): Reduce the scope of a variable.
(character-fold-to-regexp): Change logic to work directly on the
input string.  It's a little easier to understand, probably
faster, and sets us up for implementing multi-char matches.

* test/automated/character-fold-tests.el
(character-fold--test-fold-to-regexp): New test.
2015-11-28 15:06:37 +00:00
Eli Zaretskii
40b794bf00 Add etags tests for the recent Lua-related bugfix
* test/etags/lua-src/test.lua: New file, tests the issues raised
by bug#21934.
* test/etags/Makefile (LUASRC): Add test.lua.
* 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 new Lua test.  Also, an old
regression fix, resolved around 25 May 2015, required changes to
the "good" ETAGS files.
2015-11-28 13:11:05 +02:00