# HG changeset patch # User Karl Heuer # Date 766263682 0 # Node ID c976ac5d85ec1ec16f92ef5f2b97947030f8691a # Parent 581a72b47b19a0f1622c3d10ba4f4c9957392d81 (Fmouse_position) [MULTI_FRAME]: Use pixel_to_glyph, not glyph_to_pixel. Skip the conversion if args are nil. [!MULTI_FRAME]: All results are nil. Remove extra docstring. diff -r 581a72b47b19 -r c976ac5d85ec src/frame.c --- a/src/frame.c Wed Apr 13 19:00:07 1994 +0000 +++ b/src/frame.c Wed Apr 13 19:01:22 1994 +0000 @@ -923,11 +923,14 @@ &lispy_dummy, &party_dummy, &x, &y, &long_dummy); - col = XINT (x); - row = XINT (y); - glyph_to_pixel_coords (f, col, row, &col, &row); - XSETINT (x, col); - XSETINT (y, row); + if (! NILP (x)) + { + col = XINT (x); + row = XINT (y); + pixel_to_glyph_coords (f, col, row, &col, &row, 0, 0); + XSETINT (x, col); + XSETINT (y, row); + } XSET (lispy_dummy, Lisp_Frame, f); return Fcons (lispy_dummy, Fcons (x, y)); } @@ -1841,37 +1844,12 @@ } DEFUN ("mouse-position", Fmouse_position, Smouse_position, 0, 0, 0, - "Return a list (FRAME X . Y) giving the current mouse frame and position.\n\ -The position is given in character cells, where (0, 0) is the\n\ -upper-left corner.\n\ -If Emacs is running on a mouseless terminal or hasn't been programmed\n\ -to read the mouse position, it returns the selected frame for FRAME\n\ -and nil for X and Y.") + /* Don't confuse make-docfile by having two doc strings for this function. + make-docfile does not pay attention to #if, for good reason! */ + 0) () { - FRAME_PTR f; - Lisp_Object lispy_dummy; - enum scroll_bar_part party_dummy; - Lisp_Object x, y; - int col, row; - unsigned long long_dummy; - - f = selected_frame; - x = y = Qnil; - - /* It's okay for the hook to refrain from storing anything. */ - if (mouse_position_hook) - (*mouse_position_hook) (&f, - &lispy_dummy, &party_dummy, - &x, &y, - &long_dummy); - col = XINT (x); - row = XINT (y); - glyph_to_pixel_coords (f, col, row, &col, &row); - XSETINT (x, col); - XSETINT (y, row); - /* Always return nil for frame. */ - return Fcons (Qnil, Fcons (x, y)); + return Fcons (Qnil, Fcons (Qnil, Qnil)); } syms_of_frame ()