Mercurial > emacs
changeset 54866:47cdc4f7ee17
(posn-set-point): New function.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Wed, 14 Apr 2004 17:28:33 +0000 |
parents | 50d070a98492 |
children | c59162a8d0f8 |
files | lisp/subr.el |
diffstat | 1 files changed, 12 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/subr.el Wed Apr 14 15:58:30 2004 +0000 +++ b/lisp/subr.el Wed Apr 14 17:28:33 2004 +0000 @@ -678,7 +678,7 @@ (defsubst event-start (event) "Return the starting position of EVENT. -If EVENT is a mouse press or a mouse click, this returns the location +If EVENT is a mouse or key press or a mouse click, this returns the location of the event. If EVENT is a drag, this returns the drag's starting position. The return value is of the form @@ -689,7 +689,8 @@ (list (selected-window) (point) '(0 . 0) 0))) (defsubst event-end (event) - "Return the ending location of EVENT. EVENT should be a click or drag event. + "Return the ending location of EVENT. +EVENT should be a click, drag, or key press event. If EVENT is a click event, this function is the same as `event-start'. The return value is of the form (WINDOW AREA-OR-POS (X . Y) TIMESTAMP OBJECT POS (COL . ROW) @@ -727,6 +728,15 @@ (car (nth 1 position)) (nth 1 position)))) +(defun posn-set-point (position) + "Move point to POSITION. +Select the corresponding window as well." + (if (not (windowp (posn-window posn))) + (error "Position not in text area of window")) + (select-window (posn-window posn)) + (if (numberp (posn-point posn)) + (goto-char (posn-point posn)))) + (defsubst posn-x-y (position) "Return the x and y coordinates in POSITION. POSITION should be a list of the form returned by the `event-start'