]> git.proxmox.com Git - grub2.git/commit
Fix tab and wide character handling in editor and menu.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 27 Mar 2012 15:07:26 +0000 (17:07 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 27 Mar 2012 15:07:26 +0000 (17:07 +0200)
commite1bd676b4e20783ed9756684017889babb726f16
treecc601bd4ee5fff2828424509384824606274db40
parent22e6a774f9058a37ef4ae1891c8343efe7541bdf
Fix tab and wide character handling in editor and menu.

* grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
agglomerate control characters with combining marks.
(bidi_line_wrap): Allow break on tab.
(grub_unicode_get_comb_start): New function.
* grub-core/normal/menu_entry.c: Restructure to handle wide characters
and tab correctly.
* grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
with a space.
* grub-core/normal/term.c (print_ucs4_terminal): New argument
fixed_tab_size. All users updated.
* include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
(grub_term_getcharwidth): Handle \t.
* include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
and copy.
ChangeLog
grub-core/kern/term.c
grub-core/normal/charset.c
grub-core/normal/menu_entry.c
grub-core/normal/menu_text.c
grub-core/normal/term.c
include/grub/charset.h
include/grub/term.h
include/grub/unicode.h