]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fdelete_backward_char): Fix off-by-one error.
authorKarl Heuer <kwzh@gnu.org>
Fri, 16 Aug 1996 23:14:09 +0000 (23:14 +0000)
committerKarl Heuer <kwzh@gnu.org>
Fri, 16 Aug 1996 23:14:09 +0000 (23:14 +0000)
Treat deleted newline specially.

src/cmds.c

index 5c0f7cd475133342e2ebd74d2030bb03725eb142..9c29982cc80f1558dbcee8789419e315e5b94f9d 100644 (file)
@@ -208,19 +208,19 @@ N was explicitly specified.")
      Lisp_Object n, killflag;
 {
   Lisp_Object value;
-  int deleted_tab = 0;
+  int deleted_special = 0;
   int i;
 
   CHECK_NUMBER (n, 0);
 
-  /* See if we are about to delete a tab backwards.  */
-  for (i = 0; i < XINT (n); i++)
+  /* See if we are about to delete a tab or newline backwards.  */
+  for (i = 1; i <= XINT (n); i++)
     {
       if (point - i < BEGV)
        break;
-      if (FETCH_CHAR (point - i) == '\t')
+      if (FETCH_CHAR (point - i) == '\t' || FETCH_CHAR (point - i) == '\n')
        {
-         deleted_tab = 1;
+         deleted_special = 1;
          break;
        }
     }
@@ -231,7 +231,7 @@ N was explicitly specified.")
      unless at end of line.  */
   if (XINT (n) > 0
       && ! NILP (current_buffer->overwrite_mode)
-      && ! deleted_tab
+      && ! deleted_special
       && ! (point == ZV || FETCH_CHAR (point) == '\n'))
     {
       Finsert_char (make_number (' '), XINT (n));