diff src/xdisp.c @ 19045:59ccb8fd4ee1

(redisplay_window): Fix previous change. (decode_mode_spec_coding): If multibyte chars disabled. display only the eol flag.
author Richard M. Stallman <rms@gnu.org>
date Wed, 30 Jul 1997 19:44:31 +0000
parents 533ccefb099d
children e2be10e9bf9d
line wrap: on
line diff
--- a/src/xdisp.c	Wed Jul 30 19:29:13 1997 +0000
+++ b/src/xdisp.c	Wed Jul 30 19:44:31 1997 +0000
@@ -1838,21 +1838,23 @@
       && !EQ (window, minibuf_window))
     {
       int this_scroll_margin = scroll_margin;
+      int last_point_y = w->last_point_y - XINT (w->top);
+      int last_point_x = (w->last_point_x
+			  + (hscroll ? 1 - hscroll : 0)
+			  - WINDOW_LEFT_MARGIN (w));
 
       /* Find where PT is located now on the frame.  */
-      if (PT == w->last_point)
+      /* Check just_this_one as a way of verifying that the 
+	 window edges have not changed.  */
+      if (PT == w->last_point && just_this_one)
 	{
-	  pos.hpos = (w->last_point_x
-		      + (hscroll ? 1 - hscroll : 0)
-		      - WINDOW_LEFT_MARGIN (w));
-	  pos.vpos = w->last_point_y;
+	  pos.hpos = last_point_x;
+	  pos.vpos = last_point_y;
 	  pos.bufpos = PT;
 	}
-      else if (PT > w->last_point)
+      else if (PT > w->last_point && w->last_point > startp && just_this_one)
 	{
-	  pos = *compute_motion (w->last_point, w->last_point_y,
-				 w->last_point_x + (hscroll ? 1 - hscroll : 0),
-				 0,
+	  pos = *compute_motion (w->last_point, last_point_y, last_point_x, 0,
 				 PT, height,
 				 /* BUG FIX: See the comment of
 				    Fpos_visible_in_window_p (window.c).  */
@@ -4105,12 +4107,14 @@
      int eol_flag;
 {
   Lisp_Object val;
+  int multibyte = !NILP (current_buffer->enable_multibyte_characters);
 
   val = coding_system;
 
   if (NILP (val))		/* Not yet decided.  */
     {
-      *buf++ = '-';
+      if (multibyte)
+	*buf++ = '-';
       if (eol_flag)
 	*buf++ = eol_mnemonic_undecided;
       /* Don't mention EOL conversion if it isn't decided.  */
@@ -4128,7 +4132,9 @@
 	    eolvalue = Fget (val, Qeol_type);
 	}
 
-      *buf++ = XFASTINT (XVECTOR (val)->contents[1]);
+      if (multibyte)
+	*buf++ = XFASTINT (XVECTOR (val)->contents[1]);
+
       if (eol_flag)
 	{
 	  /* The EOL conversion we are using.  */