changeset 6327:d93a087868cb

(Fvertical_motion): New optional arg WINDOW.
author Richard M. Stallman <rms@gnu.org>
date Mon, 14 Mar 1994 01:29:15 +0000
parents 5e662ad3f594
children e97a1cc44be8
files src/indent.c
diffstat 1 files changed, 10 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/indent.c	Mon Mar 14 01:28:49 1994 +0000
+++ b/src/indent.c	Mon Mar 14 01:29:15 1994 +0000
@@ -805,25 +805,31 @@
   goto retry;
 }
 
-DEFUN ("vertical-motion", Fvertical_motion, Svertical_motion, 1, 1, 0,
+DEFUN ("vertical-motion", Fvertical_motion, Svertical_motion, 1, 2, 0,
   "Move to start of screen line LINES lines down.\n\
 If LINES is negative, this is moving up.\n\
+The optional second argument WINDOW specifies the window\n\
+ to use for computations.\n\
 Sets point to position found; this may be start of line\n\
  or just the start of a continuation line.\n\
 Returns number of lines moved; may be closer to zero than LINES\n\
  if beginning or end of buffer was reached.")
-  (lines)
-     Lisp_Object lines;
+  (lines, window)
+     Lisp_Object lines, window;
 {
   struct position pos;
   register struct window *w = XWINDOW (selected_window);
   int width = window_internal_width (w) - 1;
 
   CHECK_NUMBER (lines, 0);
+  if (! NILP (window))
+    CHECK_WINDOW (window, 0);
+  else
+    XSET (window, Lisp_Window, selected_window);
 
   pos = *vmotion (point, XINT (lines), width,
 		  /* Not XFASTINT since perhaps could be negative */
-		  XINT (w->hscroll), selected_window);
+		  XINT (w->hscroll), window);
 
   SET_PT (pos.bufpos);
   return make_number (pos.vpos);