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'