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;
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel