diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2022-03-18 11:59:32 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2022-03-18 11:59:32 -0400 |
commit | ce28de5d3a1293ceaf4317520ec8c3d2095ab947 (patch) | |
tree | fee494d06643e8e03a8b5bf6f01f31d121cf12b1 /lisp/emacs-lisp/bytecomp.el | |
parent | f51e12feceae18f0b6715142a4e61d6522f79389 (diff) | |
download | emacs-ce28de5d3a1293ceaf4317520ec8c3d2095ab947.tar.gz emacs-ce28de5d3a1293ceaf4317520ec8c3d2095ab947.tar.bz2 emacs-ce28de5d3a1293ceaf4317520ec8c3d2095ab947.zip |
Pcomplete: Better obey `completion-at-point-functions`
Functions on `completion-at-point-functions` should not modify
the buffer. Pcomplete itself mostly abides by this but Eshell's
use of it doesn't. Try and catch those cases. Also fix one of
those cases.
* lisp/pcomplete.el (pcomplete-allow-modifications): New var.
(pcomplete-completions-at-point): Enforce it.
(pcomplete, pcomplete-expand-and-complete, pcomplete-expand):
Rebind it since these commands expect the extra side effects.
* lisp/eshell/em-cmpl.el (eshell--pcomplete-insert-tab): New function,
extracted from `eshell-complete-parse-arguments`.
(eshell-complete-parse-arguments): Use it and obey
`pcomplete-allow-modifications`.
Diffstat (limited to 'lisp/emacs-lisp/bytecomp.el')
0 files changed, 0 insertions, 0 deletions