]> git.eshelyaron.com Git - emacs.git/commitdiff
(Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 13 Aug 2007 04:06:31 +0000 (04:06 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 13 Aug 2007 04:06:31 +0000 (04:06 +0000)
src/ChangeLog
src/fileio.c

index 51bf583fcee10641e3d15de69b80bf425ed860f5..c97fec6480824053610a88425c5d6f878992058f 100644 (file)
@@ -1,5 +1,7 @@
 2007-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
+
        * insdel.c (reset_var_on_error): New fun.
        (signal_before_change, signal_after_change):
        Use it to reset (after|before)-change-functions to nil in case of error.
index 6037eec5d7d5cc4da1bbf2d0d262e0603997d768..195e76db6584a2e9d4068f8f9e477f270ff57c0c 100644 (file)
@@ -4738,7 +4738,7 @@ variable `last-coding-system-used' to the coding system actually used.  */)
          insval = call3 (Qformat_decode,
                          Qnil, make_number (oinserted), visit);
          CHECK_NUMBER (insval);
-         if (insval = oinserted)
+         if (XINT (insval) == oinserted)
            SET_PT_BOTH (opoint, opoint_byte);
          inserted = XFASTINT (insval);
        }
@@ -4769,7 +4769,7 @@ variable `last-coding-system-used' to the coding system actually used.  */)
              if (!NILP (insval))
                {
                  CHECK_NUMBER (insval);
-                 if (insval = oinserted)
+                 if (XINT (insval) == oinserted)
                    SET_PT_BOTH (opoint, opoint_byte);
                  inserted = XFASTINT (insval);
                }
@@ -4788,18 +4788,16 @@ variable `last-coding-system-used' to the coding system actually used.  */)
            {
              Lisp_Object tem = XCAR (old_undo);
              if (CONSP (tem) && INTEGERP (XCAR (tem)) &&
-                 INTEGERP (XCDR (tem)) && (XCAR (tem)) == lbeg)
+                 INTEGERP (XCDR (tem)) && EQ (XCAR (tem), lbeg))
                /* In the non-visiting case record only the final insertion. */
                current_buffer->undo_list =
                  Fcons (Fcons (lbeg, lend), Fcdr (old_undo));
            }
        }
-      else if (old_undo == Qt)
-       /* If undo_list was Qt before, keep it that way. */
-       current_buffer->undo_list = Qt;
       else
-       /* Otherwise start with an empty undo_list. */
-       current_buffer->undo_list = Qnil;
+       /* If undo_list was Qt before, keep it that way.
+          Otherwise start with an empty undo_list. */
+       current_buffer->undo_list = EQ (old_undo, Qt) ? Qt : Qnil;
 
       unbind_to (count, Qnil);
     }