Function: hmouse-move-point-emacs
hmouse-move-point-emacs is an interactive and byte-compiled function
defined in hmouse-sh.el.
Signature
(hmouse-move-point-emacs EVENT &optional PROMOTE-TO-REGION)
Documentation
Move point to the position clicked on with the mouse.
This should be bound to a mouse click event type.
If PROMOTE-TO-REGION is non-nil and EVENT is a multiple-click,
select the corresponding element around point, with the resulting position of
point determined by mouse-select-region-move-to-beginning.
Key Bindings
Source Code
;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hmouse-sh.el
;; Based on a function from Emacs mouse.el.
(defun hmouse-move-point-emacs (event &optional promote-to-region)
"Move point to the position clicked on with the mouse.
This should be bound to a mouse click event type.
If PROMOTE-TO-REGION is non-nil and EVENT is a multiple-click,
select the corresponding element around point, with the resulting position of
point determined by `mouse-select-region-move-to-beginning'."
(interactive "e\np")
(let ((start-w-or-f (posn-window (event-start event)))
(end-w-or-f (posn-window (event-end event))))
(when (framep start-w-or-f)
(with-selected-frame start-w-or-f (setq start-w-or-f (selected-window))))
(when (framep end-w-or-f)
(with-selected-frame end-w-or-f (setq end-w-or-f (selected-window))))
(if (and (window-valid-p start-w-or-f)
(window-minibuffer-p start-w-or-f)
(not (minibuffer-window-active-p start-w-or-f)))
;; Select the ending frame only, not the window pressed within.
(select-frame (window-frame end-w-or-f))
;; Give temporary modes such as isearch a chance to turn off.
(run-hooks 'mouse-leave-buffer-hook)
(if (and promote-to-region (> (event-click-count event) 1))
(progn (mouse-set-region event)
(when (and (boundp 'mouse-select-region-move-to-beginning)
mouse-select-region-move-to-beginning)
(when (> (posn-point (event-start event)) (region-beginning))
(exchange-point-and-mark))))
;; Use event-end in case called from mouse-drag-region.
;; If EVENT is a click, event-end and event-start give same value.
(if (and (window-valid-p end-w-or-f)
(window-minibuffer-p end-w-or-f)
(not (minibuffer-window-active-p end-w-or-f)))
;; Select the ending frame only, not the window pressed within.
(select-frame (window-frame end-w-or-f))
(condition-case ()
(hmouse-posn-set-point (event-end event))
(error (when (window-valid-p end-w-or-f)
(select-frame (window-frame end-w-or-f))))))))))