On 07/05/2010 02:47 PM, Colin Watson wrote:
> gfxterm is behaving very oddly for me with 'set pager=1' right now; the
> --MORE-- prompt appears after only a few lines of text have been output.
> It looks rather as if it is counting the number of output characters as
> if they were the number of output lines.  This doesn't happen when the
> terminal output is an ordinary VGA console.
>
> Looking at normal/term.c:put_glyphs_terminal, it seems that it
> increments state->num_lines after every glyph.  This seems pretty odd.
> Doesn't it need to do something a bit smarter than that?  Vladimir, is
> this a regression from your bidi branch merge?
>
>   
Looks this way. Please test attached patch.
> Thanks,
>
>   


-- 
Regards
Vladimir 'φ-coder/phcoder' Serbinenko

=== modified file 'normal/term.c'
--- normal/term.c	2010-07-02 16:20:48 +0000
+++ normal/term.c	2010-07-06 00:05:55 +0000
@@ -616,16 +616,18 @@
       if (visual_ptr->base == '\n')
 	grub_print_spaces (term, margin_right);
       putglyph (visual_ptr, term);
-      if (state && ++state->num_lines
-	  >= (grub_ssize_t) grub_term_height (term) - 2)
-      {
-	state->backlog_glyphs = visual_ptr + 1;
-	state->backlog_len = visual_len - (visual - visual_ptr) - 1;
-	return 1;
-      }
+      if (visual_ptr->base == '\n')
+	{
+	  if (state && ++state->num_lines
+	      >= (grub_ssize_t) grub_term_height (term) - 2)
+	    {
+	      state->backlog_glyphs = visual_ptr + 1;
+	      state->backlog_len = visual_len - (visual - visual_ptr) - 1;
+	      return 1;
+	    }
 
-      if (visual_ptr->base == '\n')
-	grub_print_spaces (term, margin_left);
+	  grub_print_spaces (term, margin_left);
+	}
       grub_free (visual_ptr->combining);
     }
   return 0;

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to