]> git.eshelyaron.com Git - emacs.git/commitdiff
(posn-set-point): New function.
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 14 Apr 2004 17:28:33 +0000 (17:28 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 14 Apr 2004 17:28:33 +0000 (17:28 +0000)
lisp/subr.el

index 74809c678eb5c14989b371ab779845c5c374611e..d93ffa7150ba575bd96c01473d2214c3523cfda5 100644 (file)
@@ -678,7 +678,7 @@ The value is a printing character (not upper case) or a symbol."
 
 (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 @@ The `posn-' functions access elements of such lists."
     (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 @@ and `event-end' functions."
          (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'