diff options
| author | Stefan Monnier | 2011-05-23 23:45:50 -0300 |
|---|---|---|
| committer | Stefan Monnier | 2011-05-23 23:45:50 -0300 |
| commit | a2a25d24350857dda87e28d6b2695cccc41bb32e (patch) | |
| tree | 59bf876837e64b92932a52bf8ea8c526de285eb1 /etc | |
| parent | 2df215b52612a739eedcc024e47b6a9fa720dfda (diff) | |
| download | emacs-a2a25d24350857dda87e28d6b2695cccc41bb32e.tar.gz emacs-a2a25d24350857dda87e28d6b2695cccc41bb32e.zip | |
Add an :exit-function for completion-at-point.
* lisp/minibuffer.el (completion--done): New fun.
(completion--do-completion): Use it. New arg `expect-exact'.
(minibuffer-complete, minibuffer-complete-word): Don't output message,
since completion--do-completion does it for us now.
(minibuffer-force-complete): Use completion--done and
completion--replace. Handle sole-completion case with more care.
(minibuffer-complete-and-exit): Use new `expect-exact' arg.
(completion-extra-properties): New var.
(completion-annotate-function): Make obsolete.
(minibuffer-completion-help): Adjust accordingly.
Use completion-list-insert-choice-function.
(completion-at-point, completion-help-at-point):
Bind completion-extra-properties.
(completion-pcm-word-delimiters): Add | (for uniquify, for example).
* lisp/simple.el (completion-list-insert-choice-function): New var.
(completion-setup-function): Preserve it.
(choose-completion): Pay attention to it, shuffle the code a bit.
(choose-completion-string): New arg `insert-function'.
* lisp/textmodes/bibtex.el: Convert to lexical binding.
(bibtex-mode-map): Use completion-at-point.
(bibtex-mode): Use define-derived-mode&completion-at-point-functions.
(bibtex-completion-at-point-function): New fun, from bibtex-complete.
(bibtex-complete): Define as obsolete alias.
(bibtex-complete-internal): Remove.
(bibtex-format-entry): Remove unused sub-group in regexp.
* lisp/shell.el (shell--command-completion-data)
(shell-environment-variable-completion):
* lisp/pcomplete.el (pcomplete-completions-at-point):
* lisp/comint.el (comint--complete-file-name-data): Use :exit-function
instead of completion-table-with-terminator so it also works for
choose-completion.
Diffstat (limited to 'etc')
| -rw-r--r-- | etc/NEWS | 29 |
1 files changed, 22 insertions, 7 deletions
| @@ -68,9 +68,6 @@ and also when HOME is set to C:\ by default. | |||
| 68 | 68 | ||
| 69 | * Changes in Emacs 24.1 | 69 | * Changes in Emacs 24.1 |
| 70 | 70 | ||
| 71 | ** Completion in a non-minibuffer now tries to detect the end of completion | ||
| 72 | and pops down the *Completions* buffer accordingly. | ||
| 73 | |||
| 74 | ** emacsclient changes | 71 | ** emacsclient changes |
| 75 | 72 | ||
| 76 | *** New emacsclient argument --parent-id ID can be used to open a | 73 | *** New emacsclient argument --parent-id ID can be used to open a |
| @@ -83,9 +80,18 @@ client frame in parent X window ID, via XEmbed. This works like the | |||
| 83 | *** If emacsclient shuts down as a result of Emacs signalling an | 80 | *** If emacsclient shuts down as a result of Emacs signalling an |
| 84 | error, its exit status is 1. | 81 | error, its exit status is 1. |
| 85 | 82 | ||
| 86 | ** Completion can cycle, depending on completion-cycle-threshold. | 83 | ** Completion |
| 84 | *** Many packages have been changed to use completion-at-point rather than | ||
| 85 | their own completion code. | ||
| 86 | |||
| 87 | *** Completion in a non-minibuffer now tries to detect the end of completion | ||
| 88 | and pops down the *Completions* buffer accordingly. | ||
| 89 | |||
| 90 | *** Completion can cycle, depending on completion-cycle-threshold. | ||
| 87 | 91 | ||
| 88 | ** `completing-read' can be customized using the new variable | 92 | *** New completion style `substring'. |
| 93 | |||
| 94 | *** `completing-read' can be customized using the new variable | ||
| 89 | `completing-read-function'. | 95 | `completing-read-function'. |
| 90 | 96 | ||
| 91 | ** auto-mode-case-fold is now enabled by default. | 97 | ** auto-mode-case-fold is now enabled by default. |
| @@ -833,6 +839,17 @@ sc.el, x-menu.el, rnews.el, rnewspost.el | |||
| 833 | 839 | ||
| 834 | * Lisp changes in Emacs 24.1 | 840 | * Lisp changes in Emacs 24.1 |
| 835 | 841 | ||
| 842 | ** Completion | ||
| 843 | *** New variable completion-extra-properties used to specify extra properties | ||
| 844 | of the current completion: | ||
| 845 | - :annotate-function, same as the old completion-annotate-function. | ||
| 846 | - :exit-function, function to call after completion took place. | ||
| 847 | |||
| 848 | *** Functions on completion-at-point-functions can return any of the properties | ||
| 849 | valid for completion-extra-properties. | ||
| 850 | |||
| 851 | *** completion-annotate-function is obsolete. | ||
| 852 | |||
| 836 | ** `glyphless-char-display' can now distinguish between graphical and | 853 | ** `glyphless-char-display' can now distinguish between graphical and |
| 837 | text terminal display, via a char-table entry that is a cons cell. | 854 | text terminal display, via a char-table entry that is a cons cell. |
| 838 | 855 | ||
| @@ -909,8 +926,6 @@ argument is supplied (see Trash changes, above). | |||
| 909 | 926 | ||
| 910 | ** buffer-substring-filters is obsoleted by filter-buffer-substring-functions. | 927 | ** buffer-substring-filters is obsoleted by filter-buffer-substring-functions. |
| 911 | 928 | ||
| 912 | ** New completion style `substring'. | ||
| 913 | |||
| 914 | ** `facemenu-read-color' is now an alias for `read-color'. | 929 | ** `facemenu-read-color' is now an alias for `read-color'. |
| 915 | The command `read-color' now requires a match for a color name or RGB | 930 | The command `read-color' now requires a match for a color name or RGB |
| 916 | triplet, instead of signalling an error if the user provides a invalid | 931 | triplet, instead of signalling an error if the user provides a invalid |