diff options
| author | Dmitry Gutov | 2014-12-25 22:08:19 +0200 |
|---|---|---|
| committer | Dmitry Gutov | 2014-12-25 22:19:28 +0200 |
| commit | 394ce9514f0f0b473e4e8974b8529d0389fb627e (patch) | |
| tree | f1fe158638ee0a0f581fcd743c042c780d2453de /etc | |
| parent | ac549019742bac11c249814d7744670a56671f97 (diff) | |
| download | emacs-394ce9514f0f0b473e4e8974b8529d0389fb627e.tar.gz emacs-394ce9514f0f0b473e4e8974b8529d0389fb627e.zip | |
Consolidate cross-referencing commands
Move autoloaded bindings for `M-.', `M-,', `C-x 4 .' and
`C-x 5 .' from etags.el to xref.el.
* progmodes/xref.el: New file.
* progmodes/elisp-mode.el (elisp--identifier-types): New variable.
(elisp--identifier-location): New function, extracted from
`elisp--company-location'.
(elisp--company-location): Use it.
(elisp--identifier-completion-table): New variable.
(elisp-completion-at-point): Use it.
(emacs-lisp-mode): Set the local values of `xref-find-function'
and `xref-identifier-completion-table-function'.
(elisp-xref-find, elisp--xref-find-definitions)
(elisp--xref-identifier-completion-table): New functions.
* progmodes/etags.el (find-tag-marker-ring): Mark obsolete in
favor of `xref--marker-ring'.
(tags-lazy-completion-table): Autoload.
(tags-reset-tags-tables): Use `xref-clear-marker-stack'.
(find-tag-noselect): Use `xref-push-marker-stack'.
(pop-tag-mark): Make an alias for `xref-pop-marker-stack'.
(etags--xref-limit): New constant.
(etags-xref-find, etags--xref-find-definitions): New functions.
Diffstat (limited to 'etc')
| -rw-r--r-- | etc/NEWS | 19 |
1 files changed, 19 insertions, 0 deletions
| @@ -434,6 +434,25 @@ By default, 32 spaces and four TABs are considered to be too much but | |||
| 434 | `tildify-ignored-environments-alist' variables (as well as a few | 434 | `tildify-ignored-environments-alist' variables (as well as a few |
| 435 | helper functions) obsolete. | 435 | helper functions) obsolete. |
| 436 | 436 | ||
| 437 | ** xref | ||
| 438 | The new package provides generic framework and new commands to find | ||
| 439 | and move to definitions, as well as pop back to the original location. | ||
| 440 | |||
| 441 | *** New key bindings | ||
| 442 | `xref-find-definitions' replaces `find-tag' and provides an interface | ||
| 443 | to pick one destination among several. Hence, `tags-toop-continue' is | ||
| 444 | unbound. `xref-pop-marker-stack' replaces `pop-tag-mark', but uses an | ||
| 445 | easier binding, which is now unoccupied (`M-,'). | ||
| 446 | `xref-find-definitions-other-window' replaces `find-tag-other-window'. | ||
| 447 | `xref-find-definitions-other-frame' replaces `find-tag-other-frame'. | ||
| 448 | `xref-find-apropos' replaces `find-tag-regexp'. | ||
| 449 | |||
| 450 | *** New variables | ||
| 451 | `find-tag-marker-ring-length' is now an obsolete alias for | ||
| 452 | `xref-marker-ring-length'. `find-tag-marker-ring' is now an obsolete | ||
| 453 | alias for a private variable. `xref-push-marker-stack' and | ||
| 454 | `xref-pop-marker-stack' should be used to mutate it instead. | ||
| 455 | |||
| 437 | ** Obsolete packages | 456 | ** Obsolete packages |
| 438 | 457 | ||
| 439 | --- | 458 | --- |