mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-06 20:00:46 -08:00
(Fvertical_motion): New optional arg WINDOW.
This commit is contained in:
parent
540b6aa005
commit
f1ecfe9bc4
1 changed files with 10 additions and 4 deletions
14
src/indent.c
14
src/indent.c
|
|
@ -805,25 +805,31 @@ vmotion (from, vtarget, width, hscroll, window)
|
|||
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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue