such as (bug#4699).
* simple.el (completion-base-position): New var.
(completion-base-size): Mark as obsolete.
(choose-completion): Make it work for mouse events as well.
Pass the new base-position to choose-completion-string.
(choose-completion-guess-base-position): New function, extracted from
choose-completion-delete-max-match.
(choose-completion-delete-max-match): Use it. Make obsolete.
(choose-completion-string): Use the new base-position info.
(completion-root-regexp): Delete.
(completion-setup-function): Preserve completion-base-position.
Eliminate obsolete base-size manipulation.
* minibuffer.el (display-completion-list): Don't mess with base-size.
(minibuffer-completion-help): Set completion-base-position instead.
* mouse.el (mouse-choose-completion): Redefine as a mere alias to
choose-completion.
* textmodes/bibtex.el (bibtex-complete):
* emacs-lisp/crm.el (crm--choose-completion-string):
Adjust to new calling convention.
* complete.el (partial-completion-mode): Use minibufferp to avoid
bumping into incompatible change to choose-completion-string-functions.
* ido.el (ido-choose-completion-string): Make its calling convention
more permissive.
* comint.el (comint-dynamic-list-input-ring-select): Remove obsolete
base-size manipulation.
(comint-dynamic-list-input-ring): Use dotimes and push.
* iswitchb.el (iswitchb-completion-help): Remove dead-code call to
fundamental-mode. Use `or'.
(syms_of_keymap): Initialize it.
(Fwhere_is_internal): Try and use bindings from :advertised-binding
if applicable.
* progmodes/xscheme.el (xscheme-evaluation-commands):
Put a :advertised-binding property rather than using
advertised-xscheme-send-previous-expression.
(advertised-xscheme-send-previous-expression): Declare obsolete.
* emulation/crisp.el (crisp-mode-map): Use `undo' rather than
`advertised-undo'.
(crisp-mode): Add corresponding bindings to
undo's :advertised-binding instead.
* dired.el (dired-mode-map): Put a :advertised-binding property rather
than using dired-advertised-find-file.
(dired-advertised-find-file):
* simple.el (advertised-undo):
* wid-edit.el (advertised-widget-backward): Declare obsolete.
(widget-keymap): Put a :advertised-binding property rather
than using advertised-widget-backward.
* bindings.el (ctl-x-map): Put a :advertised-binding property rather
than using advertised-undo.
* tutorial.el (tutorial--default-keys): Adjust accordingly.
(kill-new): When `save-interprogram-paste-before-kill' is non-nil,
save the interprogram-paste into kill-ring before overriding it
with the Emacs kill.
* mouse.el (mouse-drag-track): Call deactivate-mark earlier.
(mouse-yank-at-click): If select-active-regions is non-nil,
deactivate the mark before insertion.
* simple.el (deactivate-mark, set-mark): Only save selection if we
own it.
(set-mark): Use deactivate-mark.
* info.el (Info-search): No need to check transient-mark-mode
before calling deactivate-mark.
* select.el (x-set-selection): Doc fix.
(x-valid-simple-selection-p): Allow buffer values.
(xselect--selection-bounds): Handle buffer values. Suggested by
David De La Harpe Golden.
* mouse.el (mouse-set-region, mouse-drag-track): Call
copy-region-as-kill before setting the mark, to let
select-active-regions work.
* simple.el (deactivate-mark): If select-active-regions is
non-nil, copy the selection data into a string.
(activate-mark): If select-active-regions is non-nil, set the
selection to the current buffer.
(set-mark): Update selection if select-active-regions is non-nil.
* select.el (x-valid-simple-selection-p): Allow buffer values.
line-move-visual to a cons cell.
(line-move-visual): Record or set the window hscroll, if
necessary (Bug#3494).
(line-move-1): Handle cons value of temporary-goal-column.