/* Simple built-in editing commands.
- Copyright (C) 1985 Free Software Foundation, Inc.
+ Copyright (C) 1985, 1992 Free Software Foundation, Inc.
This file is part of GNU Emacs.
GNU Emacs is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 1, or (at your option)
+the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Emacs is distributed in the hope that it will be useful,
(n)
Lisp_Object n;
{
- if (NULL (n))
+ if (NILP (n))
XFASTINT (n) = 1;
else
CHECK_NUMBER (n, 0);
(n)
Lisp_Object n;
{
- if (NULL (n))
+ if (NILP (n))
XFASTINT (n) = 1;
else
CHECK_NUMBER (n, 0);
int pos;
int count, shortage, negp;
- if (NULL (n))
+ if (NILP (n))
count = 1;
else
{
pos = scan_buffer ('\n', pos2, count - negp, &shortage);
if (shortage > 0
&& (negp
- || (ZV >= BEGV
+ || (ZV > BEGV
+ && pos != pos2
&& FETCH_CHAR (pos - 1) != '\n')))
shortage--;
SET_PT (pos);
(n)
Lisp_Object n;
{
- if (NULL (n))
+ if (NILP (n))
XFASTINT (n) = 1;
else
CHECK_NUMBER (n, 0);
register int pos;
register int stop;
- if (NULL (n))
+ if (NILP (n))
XFASTINT (n) = 1;
else
CHECK_NUMBER (n, 0);
{
CHECK_NUMBER (n, 0);
- if (NULL (killflag))
+ if (NILP (killflag))
{
if (XINT (n) < 0)
{
arg = Fprefix_numeric_value (arg1);
- if (!NULL (current_buffer->read_only))
+ if (!NILP (current_buffer->read_only))
Fsignal (Qbuffer_read_only, Qnil);
/* Inserting a newline at the end of a line
if (flag)
insert (&c1, 1);
else
- internal_self_insert ('\n', !NULL (arg1));
+ internal_self_insert ('\n', !NILP (arg1));
XFASTINT (arg)--; /* Ok since old and new vals both nonneg */
}
return Qnil;
}
+/* Insert character C1. If NOAUTOFILL is nonzero, don't do autofill
+ even if it is enabled.
+
+ If this insertion is suitable for direct output (completely simple),
+ return 0. A value of 1 indicates this *might* not have been simple. */
+
internal_self_insert (c1, noautofill)
char c1;
int noautofill;
register enum syntaxcode synt;
register int c = c1;
- if (!NULL (Vbefore_change_function) || !NULL (Vafter_change_function))
+ if (!NILP (Vbefore_change_function) || !NILP (Vafter_change_function))
hairy = 1;
- if (!NULL (current_buffer->overwrite_mode)
+ if (!NILP (current_buffer->overwrite_mode)
&& point < ZV
&& c != '\n' && FETCH_CHAR (point) != '\n'
&& (FETCH_CHAR (point) != '\t'
del_range (point, point + 1);
hairy = 1;
}
- if (!NULL (current_buffer->abbrev_mode)
+ if (!NILP (current_buffer->abbrev_mode)
&& SYNTAX (c) != Sword
- && NULL (current_buffer->read_only)
+ && NILP (current_buffer->read_only)
&& point > BEGV && SYNTAX (FETCH_CHAR (point - 1)) == Sword)
{
- tem = Fexpand_abbrev ();
- if (!NULL (tem))
+ int modiff = MODIFF;
+ Fexpand_abbrev ();
+ /* We can't trust the value of Fexpand_abbrev,
+ but if Fexpand_abbrev changed the buffer,
+ assume it expanded something. */
+ if (MODIFF != modiff)
hairy = 1;
}
if ((c == ' ' || c == '\n')
&& !noautofill
- && !NULL (current_buffer->auto_fill_function)
+ && !NILP (current_buffer->auto_fill_function)
&& current_column () > XFASTINT (current_buffer->fill_column))
{
if (c1 != '\n')
insert (&c1, 1);
synt = SYNTAX (c);
if ((synt == Sclose || synt == Smath)
- && !NULL (Vblink_paren_function) && INTERACTIVE)
+ && !NILP (Vblink_paren_function) && INTERACTIVE)
{
call0 (Vblink_paren_function);
hairy = 1;