]> git.eshelyaron.com Git - emacs.git/commitdiff
(buffer_posn_from_coords): Add parameters OBJECT and
authorGerd Moellmann <gerd@gnu.org>
Fri, 9 Mar 2001 14:50:33 +0000 (14:50 +0000)
committerGerd Moellmann <gerd@gnu.org>
Fri, 9 Mar 2001 14:50:33 +0000 (14:50 +0000)
POS; return void.

src/dispnew.c

index 755c20be4944a9a08e07878e8dafdd0a89bcad89..977a3f9530b7695ac9f24b8c3093294dca6e0cc0 100644 (file)
@@ -5685,14 +5685,17 @@ update_frame_line (f, vpos)
                   X/Y Position -> Buffer Position
  ***********************************************************************/
 
-/* Return the character position of the character at window relative
-   pixel position (*X, *Y).  *X and *Y are adjusted to character
-   boundaries.  */
+/* Determine what's under window-relative pixel position (*X, *Y).
+   Return in *OBJECT the object (string or buffer) that's there.
+   Return in *POS the position in that object. Adjust *X and *Y
+   to character boundaries.  */
 
-int
-buffer_posn_from_coords (w, x, y)
+void
+buffer_posn_from_coords (w, x, y, object, pos)
      struct window *w;
      int *x, *y;
+     Lisp_Object *object;
+     struct display_pos *pos;
 {
   struct it it;
   struct buffer *old_current_buffer = current_buffer;
@@ -5712,7 +5715,9 @@ buffer_posn_from_coords (w, x, y)
   *x = it.current_x - it.first_visible_x + left_area_width;
   *y = it.current_y;
   current_buffer = old_current_buffer;
-  return IT_CHARPOS (it);
+
+  *object = STRINGP (it.string) ? it.string : w->buffer;
+  *pos = it.current;
 }