instead of buffer position for `mouse-on-link-p'.
* mouse.el (mouse-posn-property): New function looking up the
properties at a click position in overlays and text properties in
either buffer or strings.
(mouse-on-link-p): Use `mouse-posn-property' to streamline lookup
of both `follow-link' as well as `mouse-face' properties.
(mouse-drag-track): Check `mouse-on-link-p' on event position, not
buffer position.
* help.el (describe-key-briefly): When reading a down-event on
mode lines or scroll bar, swallow the following up event, too.
Use the new mouse sensitity of `key-binding' for lookup.
(describe-key): The same here.
(mouse-sel-follow-link-p): New function.
(mouse-select, mouse-select-internal, mouse-extend-internal):
Use it to implement mouse-1-click-follows-link functionality.
Fold mouse-sel-bindings into it.
(mouse-sel-bound-events): Turn it into an alist.
(mouse-insert-selection): Delegate to mouse-yank-at-click if
mouse-sel-default-bindings asks for it.
(mouse-sel-save-original-bindings): New function.
(mouse-sel-restore-original-bindings): New function.
(mouse-sel-bindings): Save/restore original mouse-bindings.
(mouse-extend-internal): Select space in between "things" when
extending selection, ie. we are extending to "thing" boundaries.
Use x-lost-selection-hooks to handle loss of selection.
(mouse-sel-lost-selection-hook): New function.
(mouse-sel-selection-owner-p-function): Variable removed.
(mouse-sel-selection-owner-p): Function removed.
(mouse-sel-validate-selection): Function removed.
Doc fixes.
Rewrite to support secondary selection.
(mouse-sel-maintainer-address): New constant.
(mouse-sel-submit-bug-report): New function.
Rename mouse-sel-selection-type to mouse-sel-primary-thing.
(mouse-sel-secondary-thing): New variable.
(mouse-sel-selection-alist): New constant.
(mouse-sel-set-selection-function): Semantics changed. Value
should now be a function taking two arguments.
(mouse-sel-get-selection-function): Semantics changed. Value
should now be a function taking one argument.
(mouse-sel-selection-owner-p-function): New variable.
Removed variable mouse-sel-check-selection-function.
Rename mouse-sel-determine-selection-type to
mouse-sel-determine-selection-thing.
(mouse-sel-set-selection): New function.
(mouse-sel-get-selection): New function.
(mouse-sel-selection-owner-p): New function.
(mouse-sel-selection-overlay): New function.
(mouse-sel-selection-thing): New function.
(mouse-sel-region-to-primary): New function.
(mouse-sel-primary-to-region): New function.
(mouse-sel-eval-at-event-end): New macro.
(mouse-sel-determine-selection-thing): Quad-click selects paragraphs.
Removed variable mouse-sel-retain-highlight; use inverse of
transient-mark-mode instead.
(mouse-select-internal): New function.
(mouse-select): Re-written using mouse-select-internal and
mouse-sel-primary-to-region.
(mouse-select-secondary): New function.
(mouse-extend-internal): New function.
(mouse-extend): Re-written using mouse-extend-internal,
mouse-sel-region-to-primary and mouse-sel-primary-to-region.
(mouse-extend-secondary): New function.
(mouse-insert-selection-internal): New function.
(mouse-insert-selection): Re-written using
mouse-insert-selection-internal.
(mouse-insert-secondary): New function.
(mouse-sel-validate-selection): Check all selections in
mouse-sel-selection-alist.