]> code.delx.au - gnu-emacs/blobdiff - src/indent.c
Shigeru Fukaya <shigeru.fukaya at gmail.com>
[gnu-emacs] / src / indent.c
index aea60c3ce48f62e87908dd58a11bf0abb3ce72e1..5a73fa1b211e080663fe180e2c169b99bb04df8c 100644 (file)
@@ -1,6 +1,6 @@
 /* Indentation functions.
    Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995, 1998, 2000, 2001,
-                 2002, 2003, 2004, 2005, 2006, 2007, 2008
+                 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
                  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -20,6 +20,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 #include <stdio.h>
+#include <setjmp.h>
 
 #include "lisp.h"
 #include "buffer.h"
@@ -2094,14 +2095,11 @@ whether or not it is currently displayed in some window.  */)
       reseat_at_previous_visible_line_start (&it);
       it.current_x = it.hpos = 0;
       if (IT_CHARPOS (it) != PT)
-       {
-         int oselective = it.selective;
-         /* Temporarily disable selective display so we don't move
-            too far */
-         it.selective = 0;
-         move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS);
-         it.selective = oselective;
-       }
+       /* We used to temporarily disable selective display here; the
+          comment said this is "so we don't move too far" (2005-01-19
+          checkin by kfs).  But this does nothing useful that I can
+          tell, and it causes Bug#2694 .  -- cyd */
+       move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS);
 
       if (XINT (lines) <= 0)
        {