* lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): deleted
(elisp--xref-format-cl-defmethod): new
(find-feature-regexp): new
(find-alias-regexp): new
(elisp--xref-make-xref): new
(elisp--xref-find-definitions): Rewrite using the above, handle many more
cases. Always output all available definitions.
(xref-location-marker): No need for special cases.
* test/automated/elisp-mode-tests.el: Add more tests of
elisp--xref-find-definitions, improve current tests.
* src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
buffer position, if we move the iterator to a new position as
result of jumping over text covered by a "replacing" display
property.
* test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
The existing behaviour for seq-subseq is to error when indexes are too
large, but to silently ignore numbers which are too negative for lists.
String and vector handling errors in both cases. This has been
regularlised.
Error signalling behaviour has been explicitly added to the docstring of
seq-subseq, and also to cl-subseq which largely defers to
seq-subseq (and is therefore also impacted by this change).
Tests have been added for these exceptional cases, as well as one non
exceptional base case.
* src/xdisp.c (handle_invisible_prop): If the next change of
invisibility spec does not mean the beginning of a visible text,
update the string position from which to start the search for the
next invisibility change. This avoids an infinite loop when we
have more than one invisibility spec that are made inactive by
buffer-invisibility-spec. Simplify code. (Bug#21200)
* test/redisplay-testsuite.el (test-redisplay-4): Add a test case
for the situation that caused bug #21200.
* lisp/net/tramp-cache.el (tramp-get-file-property)
(tramp-set-file-property, tramp-flush-file-property)
(tramp-get-connection-property, tramp-set-connection-property)
(tramp-flush-connection-property): Remove hop from vector.
* lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
* lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
(tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
netstat to 60".
(tramp-sh-handle-start-file-process): Do not show hops in prompt.
* lisp/net/tramp.el (tramp-handle-file-name-as-directory)
(tramp-handle-file-name-directory, tramp-handle-file-remote-p):
Keep hop in result.
* test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
Add hop tests.
* test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
Implement using the documented interface
`tramp-connection-properties', rather than with internal functions.
* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
Add "tab0" to stty call.
* test/automated/tramp-tests.el (tramp-persistency-file-name):
Set to nil.
(tramp--test-hpux-p): New defun.
(tramp--test-utf8): Use it.
Replace all instances of 'face with 'font-lock-face.
(describe-package-1): Improve some strings and move the summary up the
list.
(package-install-file): Update docstring.
(package-menu-hide-package): Bind to `H'.
* lisp/autorevert.el (auto-revert-handler): Do not check for
`buffer-modified-p'.
* lisp/files.el (buffer-stale--default-function): Check for
`buffer-modified-p'.
* test/automated/auto-revert-tests.el
(auto-revert-test02-auto-revert-mode-dired): Adapt test.
* lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
* lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
* test/automated/map-tests.el: Update tests to work with the new
implementations of map-elt and map-put.
* lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
always starts with 3 slashes after the colon.
* test/automated/vc-tests.el (vc-test--create-repo-function): Use
'w32-application-type' to invoke CVS on MS-Windows with properly
formatted CVSROOT directory name.
* lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
* lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
* lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
`setf' with `map-elt'.
* test/automated/map-tests.el: Comment out `test-map-put-literal'.
* test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
Allow the warning to begin on the 3rd, not only 2nd line, which
happens if temporary-file-directory has a very long name.
* etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
status.
* test/BidiCharacterTest.txt: Update from Unicode 8.0.
* admin/unidata/BidiMirroring.txt:
* admin/unidata/BidiBrackets.txt:
* admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
While investigating Bug#20759, I discovered other quoting problems:
C-h f mishandled characters like backslash and quote in function names.
This fix changes the behavior so that 'C-h f pcase RET' now
generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
because '(format "%S" '(` FOO))' returns "(\\` FOO)". A comment
in src/lread.c's read1 function says that the backslash will be
needed starting in Emacs 25, which implies that 'format' is
correct and the old pcase documention was wrong to omit the backslash.
* lisp/emacs-lisp/nadvice.el (advice--make-docstring):
* lisp/help-fns.el (help-fns--signature):
* lisp/help.el (help-add-fundoc-usage):
* lisp/progmodes/elisp-mode.el (elisp-function-argstring):
Use help--make-usage-docstring rather than formatting
help-make-usage.
* lisp/emacs-lisp/pcase.el (pcase--make-docstring):
Return raw docstring.
* lisp/help-fns.el (help-fns--signature): New arg RAW, to return
raw docstring. Take more care to distinguish raw from cooked dstrings.
(describe-function-1): Let help-fns--signature substitute
command keys.
* lisp/help.el (help--docstring-quote): New function.
(help-split-fundoc): Use it, to quote funny characters more
systematically.
(help--make-usage): Rename from help-make-usage, since this
should be private. Leave an obsolete alias for the old name.
(help--make-usage-docstring): New function.
* test/automated/help-fns.el (help-fns-test-funny-names): New test.
* lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
past `#' to find BEG (bug#20771).
* test/automated/elisp-mode-tests.el
(elisp-completes-functions-after-hash-quote): New test.
* lisp/subr.el (string-greaterp): New function. Also aliased to
`string>'.
* test/automated/subr-tests.el (string-comparison-test): Add unit
tests for `string>'and `string<'.
* src/fns.c (string-lessp): Better docstring.
* test/automated/file-notify-tests.el
(file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
(file-notify--deftest-remote): Revert previous patch, not
necessary anymore.
* test/automated/file-notify-tests.el (file-notify--test-desc):
New defvar.
(file-notify--test-remote-enabled)
(file-notify-test00-availability, file-notify-test01-add-watch)
(file-notify-test02-events): Use it.
(file-notify--test-event-test): Check proper descriptor.
(file-notify-test03-autorevert): Ensure, that
`visited-file-modtime' has changed.
Fixes: debbugs:20392
* lisp/emacs-lisp/map.el (map-let): New macro.
(map--make-pcase-bindings, map--make-pcase-patterns): New functions.
* test/automated/map-tests.el: New test for `map-let'.