return from;
}
-DEFUN ("forward-word", Fforward_word, 1, 2, "_p", /*
+DEFUN ("forward-word", Fforward_word, 0, 2, "_p", /*
Move point forward COUNT words (backward if COUNT is negative).
-Normally returns t.
-If an edge of the buffer is reached, point is left there
-and nil is returned.
+Normally t is returned, but if an edge of the buffer is reached,
+point is left there and nil is returned.
-Optional argument BUFFER defaults to the current buffer.
+COUNT defaults to 1, and BUFFER defaults to the current buffer.
*/
(count, buffer))
{
Bufpos val;
struct buffer *buf = decode_buffer (buffer, 0);
- CHECK_INT (count);
+ EMACS_INT n;
- if (!(val = scan_words (buf, BUF_PT (buf), XINT (count))))
+ if (NILP (count))
+ n = 1;
+ else
+ {
+ CHECK_INT (count);
+ n = XINT (count);
+ }
+
+ val = scan_words (buf, BUF_PT (buf), n);
+ if (val)
+ {
+ BUF_SET_PT (buf, val);
+ return Qt;
+ }
+ else
{
- BUF_SET_PT (buf, XINT (count) > 0 ? BUF_ZV (buf) : BUF_BEGV (buf));
+ BUF_SET_PT (buf, n > 0 ? BUF_ZV (buf) : BUF_BEGV (buf));
return Qnil;
}
- BUF_SET_PT (buf, val);
- return Qt;
}
\f
static void scan_sexps_forward (struct buffer *buf,
ever complains about this function not working properly, take a look
at those changes. --ben */
-DEFUN ("forward-comment", Fforward_comment, 1, 2, 0, /*
+DEFUN ("forward-comment", Fforward_comment, 0, 2, 0, /*
Move forward across up to COUNT comments, or backwards if COUNT is negative.
Stop scanning if we find something other than a comment or whitespace.
Set point to where scanning stops.
If COUNT comments are found as expected, with nothing except whitespace
between them, return t; otherwise return nil.
Point is set in either case.
-Optional argument BUFFER defaults to the current buffer.
+COUNT defaults to 1, and BUFFER defaults to the current buffer.
*/
(count, buffer))
{
struct buffer *buf = decode_buffer (buffer, 0);
Lisp_Char_Table *mirrortab = XCHAR_TABLE (buf->mirror_syntax_table);
- CHECK_INT (count);
- n = XINT (count);
+ if (NILP (count))
+ n = 1;
+ else
+ {
+ CHECK_INT (count);
+ n = XINT (count);
+ }
from = BUF_PT (buf);