Commit graph

85 commits

Author SHA1 Message Date
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Paul Eggert
0274862f39 Merge from origin/emacs-25
d08afa1 * etc/AUTHORS: Update the AUTHORS file
2668500 ;; * ChangeLog.2: ChangeLog update.
7acfaea ; ChangeLog fixes
97d28b4 * admin/authors.el (authors-valid-file-names): Addition.
9ab52f6 * admin/authors.el: Additions.
0e646c7 Warn about Cairo-related problems
bc4c07f Don't let completion break `declare' handling
66f95e0 Adjust match data before calling after-change-funs
52cf0d5 Do not show string-rectangle preview if minibuffer is empty
6a3d031 * etc/PROBLEMS: Add entry about selection problems under Plas...

# Conflicts:
#	ChangeLog.2
#	src/lisp.h
2016-08-05 14:10:30 -07:00
Paul Eggert
80fcf41d31 Merge from origin/emacs-25
850ba44 Clarify lexical binding with symbol args behavior
f981b31 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.
68fc964 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.  (Bug#23...
21110af Avoid assertion violations when rendering some fonts
6192b6c Document more details of package activation
272ddc6 Fixup warning message regarding HOME a bit more
43206d6 * lisp/leim/quail/indian.el ("bengali-probhat"): Change indic...
d41f7ff Fix input method "probhat" for Bengali
c150a64 ; Fix typo in commit before last
ebf0472 Add to elisp-completion-at-point's docstring
fd9fad0 Give more helpful warning about setting HOME
ea6b01d ; * lisp/term.el (term-mode): FIXME comment about bidi reorde...

# Conflicts:
#	lisp/term.el
2016-08-05 14:06:59 -07:00
Stefan Monnier
d0838f201a * cl-generic.el: Fix problems introduced by new load-history format
* 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.
2016-08-02 13:01:26 -04:00
Paul Pogonyshev
bc4c07fca5 Don't let completion break `declare' handling
* elisp-mode.el (elisp-completion-at-point): Fix to not alter
`defun-declarations-alist' by side effect (Bug #23648).
2016-07-23 10:16:38 -04:00
Noam Postavsky
ebf047254b Add to elisp-completion-at-point's docstring
* lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Document
position dependent behavior (Bug #19854).
2016-06-27 00:32:51 -04:00
Paul Eggert
25cc0f2aad Merge from origin/emacs-25
788c9b6 ; Spelling fix
25c4a30 * lisp/recentf.el (recentf-dialog-mode-map): Remove follow-li...
0992ec3 Correct cl-flet usage (Bug#22317)
50caae3 Release MH-E manual version 8.6
602bb40 Update MH-E's documentation about HTML renderers
89018f0 Fx the we->the typo
845ee57 Restore frames into the current display by default
ee28b4c * lisp/recentf.el (recentf-open-files-item): Quick fix for (b...
01c3cd1 etc/TODO: Remove out-of-place issue
5e18486 Clarify doc string of 'file-name-sans-extension'
bffda22 Fix the MSDOS build
f907f98 * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Ca...
1a2ffd0 * src/dired.c (Ffile_name_all_completions): Doc fix.  (Bug#23...
f7ffc4b Fix infloop in 'number-sequence'
4ab2673 ; Spelling and punctuation fixes in comments
71c152e * lisp/emacs-lisp/find-func.el (find-function-library):
2016-05-31 08:07:41 -07:00
Andreas Schwab
f907f98b0b * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Call
substitute-command-keys to undo help--docstring-quote. (Bug#23634)
2016-05-28 11:18:05 +02:00
Paul Eggert
89ce83b202 Merge from origin/emacs-25
50650cb Doc fixes for fclist and grep
5e814e0 Minor doc fixes for quoting
3347a73 `nreverse' the marker pairs list
1a4127d Use save-excursion in xref-location-marker more
ab3ba91 shell-quote-argument DIR when appropriate
922c7a3 Rework xref-query-replace-in-results
3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w...
0932b94 Fix todo-mode bug involving archived items (bug#23447)
e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432)
adc80b7 ; * test/automated/xref-tests.el: Add copyright and license.
4d8fd9c Handle "empty line" regexp in xref searches
f559b37 Add tests for xref-collect-matches
6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc...
6f82d8e Clear buffer-undo-list when showing xrefs
c68a091 Note the quote translation in `message' in section "incompati...
52f86a7 * etc/NEWS: Mention (message "%s" (format ...)).
93703c5 (Common Keywords): Correct what missing :group means
79e5800 Improve documentation of Dired's 'A' and 'Q' commands
2ea2a2f Doc fixes for quoting
8544b98 posnp doc clarification
805204f Mention what a missing :group does
ec554d7 Fix documentation of dired-aux search/replace commands
2016-05-05 23:11:11 -07:00
Dmitry Gutov
1a4127dbd6 Use save-excursion in xref-location-marker more
* lisp/progmodes/elisp-mode.el (xref-location-marker): Use
save-excursion, in order not to alter the value of point if the
buffer is currently open in the background (problem reported by
Robert Weiner).

* lisp/progmodes/etags.el (xref-location-marker): Same.
2016-05-05 04:28:14 +03:00
Philipp Stephani
1331467910 Allow eval-ing named character literals
* lisp/progmodes/elisp-mode.el (elisp--preceding-sexp): Skip over
named character literals.
* test/lisp/progmodes/elisp-mode-tests.el
(elisp--preceding-sexp--char-name): Add test for skipping over
named character literals (bug#23354).

Copyright-paperwork-exempt: yes
2016-05-02 23:58:15 +02:00
Paul Eggert
37b9099068 - 2016-03-22 11:01:30 -07:00
Dmitry Gutov
80ec484ac8 Make lisp-completion-at-point's argument optional
* lisp/progmodes/elisp-mode.el (lisp-completion-at-point): Make
the argument optional, like it was before the rename.
2016-03-14 04:14:05 +02:00
Stefan Monnier
3dee7772f2 * elisp-mode.el (elisp--font-lock-flush-elisp-buffers): Fix comment 2016-01-16 14:11:11 -05:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
Dmitry Gutov
17ab0d10e1 Rename project-library-roots to project-external-roots
* lisp/progmodes/project.el (project-library-roots): Rename to
project-external-roots.
(project-library-roots-function): Rename to
project-vc-external-roots-function.  Only use it in the VC
backend, for now.  Update project-external-roots accordingly.
(project-vc-library-roots): Remove.
(project-or-libraries-find-regexp):
Rename to project-or-external-find-regexp.

* lisp/progmodes/elisp-mode.el (elisp-library-roots):
Rename to elisp-load-path-roots.

* lisp/progmodes/etags.el (etags-library-roots): Remove.  Use
an anonymous function for the default value of
project-vc-external-roots-function.
2015-12-28 06:17:37 +02:00
Dmitry Gutov
50b8c55617 Make lisp-completion-at-point a wrapper instead of an alias
* lisp/progmodes/elisp-mode.el (lisp-completion-at-point):
Turn into an obsolete wrapper around elisp-completion-at-point
(bug#20455).
2015-11-30 05:27:58 +02:00
Dmitry Gutov
58dfc16cd0 Don't use package-user-dir in elisp-library-roots if it's not bound
* lisp/progmodes/elisp-mode.el (elisp-library-roots): Don't
use package-user-dir if it's not bound (bug#19759).
2015-11-24 00:12:13 +02:00
Dmitry Gutov
a5fd38c3a6 Add xref--etags-backend to xref-backing-functions using add-hook
* lisp/progmodes/xref.el (xref-backend-functions): Move the
default value into a separate `add-hook' call (bug#21964).

* lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
Don't declare the xref-backend-functions variable.
It doesn't make any difference.
2015-11-21 01:57:15 +02:00
Stephen Leake
a6843cce90 Improve a few doc strings, comments
* lisp/cedet/cedet-global.el (cedet-gnu-global-expand-filename):
* lisp/cedet/ede/locate.el (ede-locate-base):
* lisp/cedet/semantic/symref.el (semantic-symref-calculate-rootdir):
* src/fns.c (Fdelq): Improve doc string.

* lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Add FIXME.
2015-11-15 13:44:41 -06:00
Dmitry Gutov
a4c6f55b9a Unify the absolutely equal xref-backend-references implementations
* lisp/progmodes/elisp-mode.el (xref-backend-references):
Remove.

* lisp/progmodes/etags.el (xref-backend-references):
Remove.

* lisp/progmodes/xref.el (xref-backend-references):
Define the default implementation.
2015-11-15 07:00:45 +02:00
Dmitry Gutov
246d6605f7 Use generic dispatch for xref backends
* lisp/progmodes/xref.el (xref-backend-functions):
New variable.
(xref-find-function): Remove.
(xref-find-backend)
(xref--etags-backend): New functions.
(xref-identifier-at-point-function)
(xref-identifier-completion-table-function): Remove.
(xref-backend-definitions, xref-backend-references)
(xref-backend-apropos, xref-backend-identifier-at-point)
(xref-backend-identifier-completion-table):
New generic functions.

* lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add
`elisp--xref-backend' to the beginning of
`xref-backend-functions', locally.  Delete references to
removed functions and vars.
(elisp-xref-find): Remove.
(elisp--xref-backend): New function.
(elisp--xref-find-references, elisp--xref-find-apropos)
(elisp--xref-identifier-completion-table):
Turn into appropriately named generic methods.

* lisp/progmodes/etags.el (etags-xref-find): Remove.
(xref-backend-identifier-completion-table)
(xref-backend-references, xref-backend-definitions)
(xref-backend-apropos): New generic methods.
2015-11-14 02:41:38 +02:00
Juanma Barranquero
2b4c0c0cef * lisp/progmodes/elisp-mode.el: Declare function `project-roots' 2015-11-13 11:04:10 +01:00
Dmitry Gutov
0be6fb8e17 Merge branch 'project-next' 2015-11-10 02:47:46 +02:00
Dmitry Gutov
1c72afb7aa Fold project-ask-user' into project-current'
* lisp/progmodes/project.el (project-find-functions): Remove
`project-ask-user'.
(project-ask-user): Remove function and the corresponding
`project-roots' implementation.
(project-current): Add a new argument, MAYBE-PROMPT.  Prompt the
user in case there's no project in the current directory.  Update
all callers.
2015-11-10 02:41:06 +02:00
Eli Zaretskii
19e09cfab6 Ensure redisplay after evaluation
* lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Revert
last change.
* lisp/frame.el (redisplay--variables): Populate the
redisplay--variables list.
* src/xdisp.c (maybe_set_redisplay): New function.
(syms_of_xdisp) <redisplay--variables>: New variable.
* src/window.h (maybe_set_redisplay): Declare prototype.
* src/data.c (set_internal): Call maybe_set_redisplay.  (Bug#21835)
2015-11-06 21:21:52 +02:00
Dmitry Gutov
977697203f Rename "search path" to "library roots"
* lisp/emacs-lisp/cl-seq.el (cl-set-difference): Retain the order
of the elements from CL-LIST1.

* test/automated/cl-lib-tests.el (cl-lib-test-set-functions):
Update WRT to the above change.

* lisp/progmodes/project.el (project-search-path-function): Rename
to project-library-roots-function, update the documentation and
references.
(project-search-path): Likewise, to project-library-roots.
(project-roots): Clarify documentation.
(project-vc-search-path): Likewise, to project-vc-library-roots.
(project-library-roots): In addition to the renames, thread the
results through file-name-as-directory.
(project-prune-directories): Accept a variable number of
arguments.  Rename to project-combine-directories.
(project-subtract-directories): New function.

* lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
Append project-roots and project-library-roots together.

* lisp/progmodes/etags.el (etags--xref-find-references): Ditto.
2015-11-06 15:37:24 +02:00
Eli Zaretskii
29c360ee1c Ensure redisplay after "C-x C-e"
* lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Make sure
redisplay happens to account for any side effects of the evaluated
sexp.  (Bug#21835)
2015-11-06 11:28:46 +02:00
Paul Eggert
284c470ef7 Backslash cleanup in Elisp source files
This patch should not change behavior.  It typically omits backslashes
where they are redundant (e.g., in the string literal "^\$").
In a few places, insert backslashes where they make regular
expressions clearer: e.g., replace "^\*" (equivalent to "^*") with
"^\\*", which has the same effect as a regular expression.
Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs,
and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with
RCS IDs, as that makes it clearer that the backslash is intended.
2015-09-17 16:09:39 -07:00
Stephen Leake
711a8eecd5 Fix a bug in elisp--xref-find-definitions related to cl-generic defaults
* lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Fix bug
with cl-generic defaults.
(elisp--xref-find-references): Add doc string.

* test/automated/elisp-mode-tests.el (xref-elisp-generic-*): Improve
tests to find bug.
2015-09-15 14:44:46 -05:00
Paul Eggert
cdb0ae37ab Revert some stray curved quotes I missed earlier
Problem reported by David Kastrup in:
http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00440.html
* lisp/international/mule-cmds.el (leim-list-header):
Use format-message with an ASCII-only format.
2015-09-10 10:12:37 -07:00
Stefan Monnier
ab21f61a55 Make syntax.c call syntax-propertize on demand
* lisp/emacs-lisp/syntax.el (syntax--jit-propertize): New function.
(parse-sexp-propertize-function): Use it.
(syntax-propertize): Disable parse-sexp-propertize-function.

* src/syntax.c (parse_sexp_propertize, update_syntax_table_forward):
New functions.
(syms_of_syntax): New vars `parse-sexp-propertize-done' and
`parse-sexp-propertize-function'.

* src/syntax.h (struct gl_state_s): Add `e_property_truncated' field.
(UPDATE_SYNTAX_TABLE_FORWARD): Use update_syntax_table_forward.
(SETUP_BUFFER_SYNTAX_TABLE): Set e_property_truncated.

* lisp/progmodes/elisp-mode.el (elisp-byte-code-syntax-propertize):
Don't assume `point' is set.
2015-09-09 15:14:52 -04:00
Paul Eggert
26bd978d87 Fix some more docstring etc. quoting problems
Mostly these fixes prevent the transliteration of apostrophes
that should stay apostrophes.  Also, prefer curved quotes in
Bahá’í proper names, as that’s the preferred Bahá’í style and
these names are chock-full of non-ASCII characters anyway.
* lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
(eieio-defclass-internal):
* lisp/emacs-lisp/eieio.el (defclass):
* lisp/hi-lock.el (hi-lock-mode):
Don’t transliterate Lisp apostrophes when generating a
doc string or diagnostic.
* lisp/international/mule-diag.el (list-coding-systems-1):
* lisp/international/ogonek.el (ogonek-jak, ogonek-how):
* lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
* lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
* lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
Substitute quotes before putting them in the help buffer.
2015-09-03 15:32:54 -07:00
Stephen Leake
a9713f202e Improve comments in elisp-mode.el, elisp-mode-tests.el
* lisp/progmodes/elisp-mode.el: Clean up FIXMEs, comments.
2015-09-01 05:15:30 -05:00
Stephen Leake
64fbdc9825 Add mode local overrides to xref-find-definitions
* lisp/cedet/mode-local.el (xref-mode-local--override-present,
xref-mode-local-overload): New; add mode local overrides to
xref-find-definitions.

* test/automated/elisp-mode-tests.el: Add mode local override tests.
(xref-elisp-test-run): Handle indented defuns.
(xref-elisp-generic-*): Improve doc strings.

* lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New.
(elisp--xref-find-definitions): Use it.
2015-08-26 16:58:57 -05:00
Paul Eggert
760701ebe1 Don't quote symbols 'like-this' in docstrings etc.
* admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
* lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
* lisp/allout.el (allout-add-resumptions, allout-mode):
* lisp/calculator.el (calculator-operators):
* lisp/cedet/data-debug.el (dd-propertize):
* lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
* lisp/cedet/semantic/analyze/debug.el:
(semantic-analyzer-debug-global-miss-text):
* lisp/cedet/semantic/lex-spp.el:
(semantic-lex-spp-replace-or-symbol-or-keyword):
* lisp/cedet/semantic/symref.el:
(semantic-symref-cleanup-recent-buffers-fcn):
* lisp/cedet/semantic/tag.el (semantic-tag-class):
* lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
* lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
* lisp/gnus/pop3.el (pop3-authentication-scheme):
* lisp/help-fns.el (describe-function-orig-buffer):
* lisp/imenu.el (imenu--history-list):
* lisp/mail/feedmail.el (feedmail-confirm-outgoing)
(feedmail-display-full-frame, feedmail-deduce-bcc-where)
(feedmail-queue-default-file-slug)
(feedmail-queue-buffer-file-name):
* lisp/net/mairix.el (mairix-searches-mode-map):
* lisp/net/newst-backend.el (newsticker-retrieval-method)
(newsticker-auto-mark-filter-list):
* lisp/obsolete/vi.el (vi-mode):
* lisp/progmodes/cc-engine.el (c-literal-type):
* lisp/progmodes/cpp.el (cpp-face):
* lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
* lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
* lisp/progmodes/pascal.el (pascal-auto-lineup):
* lisp/progmodes/prog-mode.el (prog-widen):
* lisp/progmodes/verilog-mode.el (verilog-regexp-words)
(verilog-auto-lineup, verilog-auto-reset-widths)
(verilog-auto-arg-format, verilog-auto-inst-template-numbers):
* lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
(flyspell-maybe-correct-doubling):
* lisp/textmodes/table.el (table-justify, table-justify-cell)
(table-justify-row, table-justify-column, table-insert-sequence)
(table--justify-cell-contents):
* lisp/url/url-auth.el (url-get-authentication):
* lisp/window.el (display-buffer-record-window):
* lisp/xml.el (xml-parse-file, xml-parse-region):
* src/gfilenotify.c (Fgfile_add_watch):
Don't quote symbols with apostrophes in doc strings.
Use asymmetric quotes instead.
* lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
Likewise for symbol in diagnostic.
* lisp/image.el (image-extension-data):
* lisp/register.el (frame-configuration-to-register):
* src/buffer.c (syms_of_buffer):
Remove bogus apostrophes after symbols.
* lisp/thumbs.el (thumbs-conversion-program):
Quote Lisp string values using double-quotes, not apostrophes.
2015-08-20 17:34:57 -07:00
Paul Eggert
abd838ef8b Spelling fixes 2015-08-16 23:53:04 -07:00
Eli Zaretskii
9d053b34cb Don't miss warnings about removing string text properties while dumping
* src/alloc.c (purecopy): Warn about removing a string's text
properties even when the same string was already pure-copied
earlier.

* lisp/progmodes/elisp-mode.el (elisp--xref-format)
(elisp--xref-format-extra): Fix the commentary.
2015-08-14 13:34:18 +03:00
Stephen Leake
0382fd42c6 xref-find-definitions: Exclude more generic function items.
* lisp/emacs-lisp/cl-generic.el (cl--generic-search-method): Add doc string.
(cl--generic-find-defgeneric-regexp): New.
(find-function-regexp-alist): Add it.

* lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
elisp-mode.el, change to search for ";;; Code:"
(find-alias-regexp): Move here from elisp-mode.el, cleaned up.
(find-function-regexp-alist): Add them.

* lisp/progmodes/elisp-mode.el:
(elisp--xref-format, elisp--xref-format-extra): Change back to defvar due
to bug#21237.
(elisp--xref-find-definitions): Exclude co-located default methods for
generic functions. Also exclude implicitly declared defgeneric.
(elisp--xref-find-definitions): Handle C source properly. Exclude minor
mode variables defined by 'define-minor-mode'.

* test/automated/elisp-mode-tests.el: Declare generic functions, add
tests for them.
(xref-elisp-test-run): Fix bug.
(emacs-test-dir): Improve initial value.
(find-defs-defun-defvar-el): Don't expect defvar.
(find-defs-feature-el): Match change to find-feature-regexp.
2015-08-13 13:16:47 -05:00
Stephen Leake
85f7e5115f elisp--xref-find-definitions handle cl-defstuct default constructor
* lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
(elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
(elisp--xref-find-definitions): Handle cl-defstuct default constructor.

* test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
from xref-elisp-test for ease of debugging.
(xref-elisp-deftest): Rename from xref-elisp-test.
(find-defs-constructor): New test.
(find-defs-defgeneric-el): Match batch test config.
(compile): Required for find-defs compilation-minor-mode test.
(find-defs-defvar-el): Match code change.
(find-defs-face-el): Match code change.

* lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
Improve doc string.
2015-08-11 14:29:34 -05:00
Stephen Leake
d7df36e745 Rewrite elisp--xref-find-definitions to handle many more cases; add tests.
* 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.
2015-08-10 21:55:37 -05:00
Dmitry Gutov
543bb9bc20 Add a second argument to project-ignores
* lisp/progmodes/project.el (project-ignores): Add a second
argument DIR.

* lisp/progmodes/project.el (project-ignores): Only include the VC
ignores if DIR is the VC root.

* lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
2015-08-02 01:30:36 +03:00
Dmitry Gutov
6a79a169e7 Rename project-directories to project-roots
* lisp/progmodes/project.el (project-search-path-function)
(project-search-path): Update the docstring.
(project-directories): Rename to `project-roots', update all
callers and implementations accordingly.
(project-root): Remove.

* lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
as the default file mask.
2015-07-31 05:53:14 +03:00
Dmitry Gutov
e29206e84a Rename xref description slot to summary
* lisp/progmodes/xref.el (xref--xref): Rename the `description'
slot to `summary'.
2015-07-20 03:12:32 +03:00
Dmitry Gutov
62d5d46551 Add `project-ignores'
* lisp/progmodes/project.el (project-ignores): New generic
function, and an implementation for the	VC project type.

* lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
variant of rgrep-default-command that handles a generic list of
ignores.
(xref-collect-matches): Use it, and pass through to it the value
of the newly added argument.
(xref-find-regexp): Handle ignored paths within the project.
Remove outdated comment.

* lisp/vc/vc.el (vc-default-ignore-completion-table):
Skip the comments and the empty lines.
2015-07-12 17:19:08 +03:00
Dmitry Gutov
f8c720b55b Introduce a Project API
* lisp/progmodes/project.el: New file.

* lisp/cedet/ede.el: (project-try-ede): New function.
(project-root): New implementation.

* lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
Set project-search-path-function.
(elisp--xref-find-references): Delegate some logic to
project-search-path.
(elisp-search-path): New function.
(elisp-xref-find): Don't implement `matches' anymore.

* lisp/progmodes/etags.el: Don't implement `matches'.
Delegate some logic to project-search-path.
(etags-search-path): New function.

* lisp/progmodes/xref.el (xref-find-function):
Remove `matches' from the API.
(xref-find-regexp): Move whatever common logic was in elisp and
etags implementations, and search the directories returned by
project-directories and project-search-path.
2015-07-10 04:40:09 +03:00
Stephen Leake
4b1613762f Add missing function xref-location-group for elisp-mode.
* lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
2015-06-17 09:35:00 -05:00
Glenn Morris
fb77502f69 Address some check-declare warnings.
* lisp/simple.el (tabulated-list-print):
* lisp/progmodes/elisp-mode.el (xref-collect-matches):
* lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
(ns-get-selection): Update declarations.
2015-06-16 20:33:48 -04:00
Paul Eggert
b220562637 Fix quoting of help for functions with odd names
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.
2015-06-11 10:24:38 -07:00